diff --git a/.gitignore b/.gitignore
index 2ba7ded..7a40fb4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -362,5 +362,83 @@ MigrationBackup/
# Fody - auto-generated XML schema
FodyWeavers.xsd
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# AWS User-specific
+.idea/**/aws.xml
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# SonarLint plugin
+.idea/sonarlint/
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
# Debug folder
test/
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..6c9ece8
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Metin2 Server
\ No newline at end of file
diff --git a/.idea/Server.iml b/.idea/Server.iml
new file mode 100644
index 0000000..f08604b
--- /dev/null
+++ b/.idea/Server.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..0d51e81
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..79b3c94
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..8f3a104
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3a74bf..e7ab2e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,7 +15,7 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
# Set the CMake module directory
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake/Modules/")
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
# Set environment variables
set(METIN2_OS_NAME ${CMAKE_SYSTEM})
diff --git a/common/auction_table.h b/common/auction_table.h
index e0d4568..5dbebc2 100644
--- a/common/auction_table.h
+++ b/common/auction_table.h
@@ -42,7 +42,7 @@ public:
offer_price= _offer_price;
price = _price;
offer_id = _offer_id;
- thecore_memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
+ memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
expired_time = _expired_time;
item_id = _item_id;
bidder_id = _bidder_id;
@@ -64,7 +64,7 @@ public:
const char* get_bidder_name () { return shown_name; }
void set_bidder_name (const char* new_bidder_name)
{
- thecore_memcpy(shown_name, new_bidder_name, strlen(new_bidder_name) + 1);
+ memcpy(shown_name, new_bidder_name, strlen(new_bidder_name) + 1);
}
} TAuctionItemInfo;
@@ -79,7 +79,7 @@ typedef struct _sale : public _base_auction
item_num = _item_num;
offer_price= _offer_price;
offer_id = _offer_id;
- thecore_memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
+ memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
item_id = _item_id;
wisher_id = _wisher_id;
}
@@ -101,7 +101,7 @@ typedef struct _wish : public _base_auction
item_num = _item_num;
offer_price= _offer_price;
offer_id = _offer_id;
- thecore_memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
+ memcpy(shown_name, _shown_name, strlen(_shown_name) + 1);
expired_time = _expired_time;
empire = _empire;
}
diff --git a/common/cache.h b/common/cache.h
index e4bb759..3c47799 100644
--- a/common/cache.h
+++ b/common/cache.h
@@ -22,7 +22,7 @@ template class cache
void Put(T * pNew, bool bSkipQuery = false)
{
- thecore_memcpy(&m_data, pNew, sizeof(T));
+ memcpy(&m_data, pNew, sizeof(T));
m_lastUpdateTime = time(0);
if (!bSkipQuery)
diff --git a/common/length.h b/common/length.h
index 90782cc..7f57a1e 100644
--- a/common/length.h
+++ b/common/length.h
@@ -72,8 +72,6 @@ enum EMisc
//END_LIMIT_GOLD
- OPENID_AUTHKEY_LEN = 32,
-
SHOP_TAB_NAME_MAX = 32,
SHOP_TAB_COUNT_MAX = 3,
@@ -685,7 +683,7 @@ enum ETeenFlags
// inventory position Ÿ ü
// int Ͻ ȯ ִ ,
// κ õ Լ window_type ʰ, cell ϳ ұ ,( κ ϳ ̾ inventory type̶ ʿ ,)
-// κ Լ ȣκ ϴ ϱ ̴.
+// κ Լ ȣκ ϴ ϱ ??̴.
enum EDragonSoulRefineWindowSize
{
diff --git a/db/src/AuctionManager.cpp b/db/src/AuctionManager.cpp
index a82a24f..699e3e8 100644
--- a/db/src/AuctionManager.cpp
+++ b/db/src/AuctionManager.cpp
@@ -198,7 +198,7 @@ void AuctionManager::LoadAuctionInfo()
str_to_number(auctionItemInfo.offer_price, row[cur++]);
str_to_number(auctionItemInfo.price, row[cur++]);
str_to_number(auctionItemInfo.offer_id, row[cur++]);
- thecore_memcpy (auctionItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
+ memcpy (auctionItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
cur++;
str_to_number(auctionItemInfo.empire, row[cur++]);
str_to_number(auctionItemInfo.expired_time, row[cur++]);
@@ -242,7 +242,7 @@ void AuctionManager::LoadSaleInfo()
str_to_number(saleItemInfo.offer_price, row[cur++]);
str_to_number(saleItemInfo.price, row[cur++]);
str_to_number(saleItemInfo.offer_id, row[cur++]);
- thecore_memcpy (saleItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
+ memcpy (saleItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
cur++;
str_to_number(saleItemInfo.empire, row[cur++]);
str_to_number(saleItemInfo.expired_time, row[cur++]);
@@ -285,7 +285,7 @@ void AuctionManager::LoadWishInfo()
str_to_number(wishItemInfo.offer_price, row[cur++]);
str_to_number(wishItemInfo.price, row[cur++]);
str_to_number(wishItemInfo.offer_id, row[cur++]);
- thecore_memcpy (wishItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
+ memcpy (wishItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1);
cur++;
str_to_number(wishItemInfo.empire, row[cur++]);
str_to_number(wishItemInfo.expired_time, row[cur++]);
@@ -551,7 +551,7 @@ AuctionResult AuctionManager::GetAuctionedItem (DWORD actor_id, DWORD item_id, T
return AUCTION_NOT_EXPIRED;
}
- thecore_memcpy(&item, c->Get(), sizeof(TPlayerItem));
+ memcpy(&item, c->Get(), sizeof(TPlayerItem));
return AUCTION_SUCCESS;
}
@@ -574,7 +574,7 @@ AuctionResult AuctionManager::BuySoldItem (DWORD actor_id, DWORD item_id, TPlaye
TSaleItemInfo* item_info = item_info_cache->Get(false);
- thecore_memcpy(&item, c->Get(), sizeof(TPlayerItem));
+ memcpy(&item, c->Get(), sizeof(TPlayerItem));
return AUCTION_SUCCESS;
}
@@ -596,7 +596,7 @@ AuctionResult AuctionManager::CancelAuction (DWORD actor_id, DWORD item_id, TPla
}
TAuctionItemInfo* item_info = item_info_cache->Get(false);
- thecore_memcpy(&item, c->Get(), sizeof(TPlayerItem));
+ memcpy(&item, c->Get(), sizeof(TPlayerItem));
return AUCTION_SUCCESS;
}
@@ -630,7 +630,7 @@ AuctionResult AuctionManager::CancelSale (DWORD actor_id, DWORD item_id, TPlayer
}
TSaleItemInfo* item_info = item_info_cache->Get(false);
- thecore_memcpy(&item, c->Get(), sizeof(TPlayerItem));
+ memcpy(&item, c->Get(), sizeof(TPlayerItem));
return AUCTION_SUCCESS;
}
diff --git a/db/src/Cache.cpp b/db/src/Cache.cpp
index 3420e54..ac08730 100644
--- a/db/src/Cache.cpp
+++ b/db/src/Cache.cpp
@@ -217,7 +217,7 @@ void CItemPriceListTableCache::UpdateList(const TItemPriceListTable* pUpdateList
m_data.byCount = pUpdateList->byCount;
- thecore_memcpy(m_data.aPriceInfo, pUpdateList->aPriceInfo, sizeof(TItemPriceInfo) * pUpdateList->byCount);
+ memcpy(m_data.aPriceInfo, pUpdateList->aPriceInfo, sizeof(TItemPriceInfo) * pUpdateList->byCount);
int nDeletedNum; //
@@ -228,7 +228,7 @@ void CItemPriceListTableCache::UpdateList(const TItemPriceListTable* pUpdateList
if (tmpvec.size() < sizeAddOldDataSize)
sizeAddOldDataSize = tmpvec.size();
- thecore_memcpy(m_data.aPriceInfo + pUpdateList->byCount, &tmpvec[0], sizeof(TItemPriceInfo) * sizeAddOldDataSize);
+ memcpy(m_data.aPriceInfo + pUpdateList->byCount, &tmpvec[0], sizeof(TItemPriceInfo) * sizeAddOldDataSize);
m_data.byCount += sizeAddOldDataSize;
nDeletedNum = tmpvec.size() - sizeAddOldDataSize;
diff --git a/db/src/ClientManager.cpp b/db/src/ClientManager.cpp
index 7ed0de2..17cbcd2 100644
--- a/db/src/ClientManager.cpp
+++ b/db/src/ClientManager.cpp
@@ -1083,7 +1083,7 @@ void CClientManager::QUERY_SETUP(CPeer * peer, DWORD dwHandle, const char * c_pD
strncpy(kMapLocations.szHost, peer->GetPublicIP(), sizeof(kMapLocations.szHost));
kMapLocations.wPort = peer->GetListenPort();
- thecore_memcpy(kMapLocations.alMaps, peer->GetMaps(), sizeof(kMapLocations.alMaps));
+ memcpy(kMapLocations.alMaps, peer->GetMaps(), sizeof(kMapLocations.alMaps));
BYTE bMapCount;
@@ -1106,7 +1106,7 @@ void CClientManager::QUERY_SETUP(CPeer * peer, DWORD dwHandle, const char * c_pD
TMapLocation kMapLocation2;
strncpy(kMapLocation2.szHost, tmp->GetPublicIP(), sizeof(kMapLocation2.szHost));
kMapLocation2.wPort = tmp->GetListenPort();
- thecore_memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
+ memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
vec_kMapLocations.push_back(kMapLocation2);
tmp->EncodeHeader(HEADER_DG_MAP_LOCATIONS, 0, sizeof(BYTE) + sizeof(TMapLocation));
@@ -1133,7 +1133,7 @@ void CClientManager::QUERY_SETUP(CPeer * peer, DWORD dwHandle, const char * c_pD
TMapLocation kMapLocation2;
strncpy(kMapLocation2.szHost, tmp->GetPublicIP(), sizeof(kMapLocation2.szHost));
kMapLocation2.wPort = tmp->GetListenPort();
- thecore_memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
+ memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
vec_kMapLocations.push_back(kMapLocation2);
}
@@ -1161,7 +1161,7 @@ void CClientManager::QUERY_SETUP(CPeer * peer, DWORD dwHandle, const char * c_pD
strncpy(kMapLocation2.szHost, tmp->GetPublicIP(), sizeof(kMapLocation2.szHost));
kMapLocation2.wPort = tmp->GetListenPort();
- thecore_memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
+ memcpy(kMapLocation2.alMaps, tmp->GetMaps(), sizeof(kMapLocation2.alMaps));
vec_kMapLocations.push_back(kMapLocation2);
}
@@ -2180,7 +2180,7 @@ void CClientManager::MyshopPricelistUpdate(const TPacketMyshopPricelistHeader* p
table.byCount = pPacket->byCount;
const TItemPriceInfo * pInfo = reinterpret_cast(pPacket + sizeof(TPacketMyshopPricelistHeader));
- thecore_memcpy(table.aPriceInfo, pInfo, sizeof(TItemPriceInfo) * pPacket->byCount);
+ memcpy(table.aPriceInfo, pInfo, sizeof(TItemPriceInfo) * pPacket->byCount);
pCache->UpdateList(&table);
}
@@ -2192,7 +2192,7 @@ void CClientManager::MyshopPricelistUpdate(const TPacketMyshopPricelistHeader* p
pUpdateTable->byCount = pPacket->byCount;
const TItemPriceInfo * pInfo = reinterpret_cast(pPacket + sizeof(TPacketMyshopPricelistHeader));
- thecore_memcpy(pUpdateTable->aPriceInfo, pInfo, sizeof(TItemPriceInfo) * pPacket->byCount);
+ memcpy(pUpdateTable->aPriceInfo, pInfo, sizeof(TItemPriceInfo) * pPacket->byCount);
char szQuery[QUERY_MAX_LEN];
snprintf(szQuery, sizeof(szQuery), "SELECT item_vnum, price FROM myshop_pricelist%s WHERE owner_id=%u", GetTablePostfix(), pPacket->dwOwnerID);
diff --git a/db/src/ClientManagerBoot.cpp b/db/src/ClientManagerBoot.cpp
index 23e040d..eebff25 100644
--- a/db/src/ClientManagerBoot.cpp
+++ b/db/src/ClientManagerBoot.cpp
@@ -507,7 +507,7 @@ bool CClientManager::InitializeShopTable()
while (it != map_shop.end())
{
- thecore_memcpy((m_pShopTable + i), (it++)->second, sizeof(TShopTable));
+ memcpy((m_pShopTable + i), (it++)->second, sizeof(TShopTable));
sys_log(0, "SHOP: #%d items: %d", (m_pShopTable + i)->dwVnum, (m_pShopTable + i)->byItemCount);
++i;
}
@@ -1176,7 +1176,7 @@ void parse_pair_number_string(const char * c_pszString, std::vectorSetPlay(true);
SendLoginToBilling(pkLD, true);
- thecore_memcpy(pTab->aiPremiumTimes, pkLD->GetPremiumPtr(), sizeof(pTab->aiPremiumTimes));
+ memcpy(pTab->aiPremiumTimes, pkLD->GetPremiumPtr(), sizeof(pTab->aiPremiumTimes));
peer->EncodeHeader(HEADER_DG_PLAYER_LOAD_SUCCESS, dwHandle, sizeof(TPlayerTable));
peer->Encode(pTab, sizeof(TPlayerTable));
@@ -290,7 +290,7 @@ void CClientManager::QUERY_PLAYER_LOAD(CPeer * peer, DWORD dwHandle, TPlayerLoad
TPlayerItem * p = c->Get();
if (p->vnum) // vnum ̴.
- thecore_memcpy(&s_items[dwCount++], p, sizeof(TPlayerItem));
+ memcpy(&s_items[dwCount++], p, sizeof(TPlayerItem));
}
if (g_test_server)
@@ -491,14 +491,14 @@ bool CreatePlayerTableFromRes(MYSQL_RES * res, TPlayerTable * pkTab)
str_to_number(pkTab->parts[PART_HAIR], row[col++]);
if (row[col])
- thecore_memcpy(pkTab->skills, row[col], sizeof(pkTab->skills));
+ memcpy(pkTab->skills, row[col], sizeof(pkTab->skills));
else
memset(&pkTab->skills, 0, sizeof(pkTab->skills));
col++;
if (row[col])
- thecore_memcpy(pkTab->quickslot, row[col], sizeof(pkTab->quickslot));
+ memcpy(pkTab->quickslot, row[col], sizeof(pkTab->quickslot));
else
memset(pkTab->quickslot, 0, sizeof(pkTab->quickslot));
@@ -652,7 +652,7 @@ void CClientManager::RESULT_PLAYER_LOAD(CPeer * peer, MYSQL_RES * pRes, ClientHa
pkLD->SetPlay(true);
SendLoginToBilling(pkLD, true);
- thecore_memcpy(tab.aiPremiumTimes, pkLD->GetPremiumPtr(), sizeof(tab.aiPremiumTimes));
+ memcpy(tab.aiPremiumTimes, pkLD->GetPremiumPtr(), sizeof(tab.aiPremiumTimes));
peer->EncodeHeader(HEADER_DG_PLAYER_LOAD_SUCCESS, pkInfo->dwHandle, sizeof(TPlayerTable));
peer->Encode(&tab, sizeof(TPlayerTable));
diff --git a/db/src/GuildManager.cpp b/db/src/GuildManager.cpp
index cb489e5..9e6bc3b 100644
--- a/db/src/GuildManager.cpp
+++ b/db/src/GuildManager.cpp
@@ -1203,7 +1203,7 @@ bool CGuildManager::ChangeMaster(DWORD dwGID, DWORD dwFrom, DWORD dwTo)
//////////////////////////////////////////////////////////////////////////////////////////
CGuildWarReserve::CGuildWarReserve(const TGuildWarReserve & rTable)
{
- thecore_memcpy(&m_data, &rTable, sizeof(TGuildWarReserve));
+ memcpy(&m_data, &rTable, sizeof(TGuildWarReserve));
m_iLastNoticeMin = -1;
Initialize();
diff --git a/db/src/LoginData.cpp b/db/src/LoginData.cpp
index e1655e0..e2a2b96 100644
--- a/db/src/LoginData.cpp
+++ b/db/src/LoginData.cpp
@@ -26,7 +26,7 @@ TAccountTable & CLoginData::GetAccountRef()
void CLoginData::SetClientKey(const DWORD * c_pdwClientKey)
{
- thecore_memcpy(&m_adwClientKey, c_pdwClientKey, sizeof(DWORD) * 4);
+ memcpy(&m_adwClientKey, c_pdwClientKey, sizeof(DWORD) * 4);
}
const DWORD * CLoginData::GetClientKey()
@@ -105,7 +105,7 @@ bool CLoginData::IsDeleted()
void CLoginData::SetPremium(int * paiPremiumTimes)
{
- thecore_memcpy(m_aiPremiumTimes, paiPremiumTimes, sizeof(m_aiPremiumTimes));
+ memcpy(m_aiPremiumTimes, paiPremiumTimes, sizeof(m_aiPremiumTimes));
}
int CLoginData::GetPremium(BYTE type)
diff --git a/db/src/Peer.cpp b/db/src/Peer.cpp
index f71b9ef..18f0838 100644
--- a/db/src/Peer.cpp
+++ b/db/src/Peer.cpp
@@ -129,7 +129,7 @@ void CPeer::SetP2PPort(WORD wPort)
void CPeer::SetMaps(long * pl)
{
- thecore_memcpy(m_alMaps, pl, sizeof(m_alMaps));
+ memcpy(m_alMaps, pl, sizeof(m_alMaps));
}
void CPeer::SendSpareItemIDRange()
diff --git a/db/src/grid.cpp b/db/src/grid.cpp
index 681ff2a..fe3c392 100644
--- a/db/src/grid.cpp
+++ b/db/src/grid.cpp
@@ -1,6 +1,5 @@
#include
#include
-#include "../../libthecore/include/memcpy.h"
#include
#include "grid.h"
@@ -14,7 +13,7 @@ CGrid::CGrid(CGrid * pkGrid, int w, int h) : m_iWidth(w), m_iHeight(h)
{
m_pGrid = new char[m_iWidth * m_iHeight];
int iSize = std::MIN(w * h, pkGrid->m_iWidth * pkGrid->m_iHeight);
- thecore_memcpy(m_pGrid, pkGrid->m_pGrid, sizeof(char) * iSize);
+ memcpy(m_pGrid, pkGrid->m_pGrid, sizeof(char) * iSize);
}
CGrid::~CGrid()
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 6128124..bffdaba 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -16,7 +16,6 @@ find_package(Boost COMPONENTS system REQUIRED)
find_package(DevIL REQUIRED)
find_package(LZO REQUIRED)
find_package(cryptopp CONFIG REQUIRED)
-find_package(GTest REQUIRED)
add_executable(${PROJECT_NAME} ${sources})
@@ -30,7 +29,6 @@ target_link_libraries (${PROJECT_NAME} cryptopp-static)
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries (${PROJECT_NAME} ${Boost_LIBRARIES})
-
if (IL_FOUND)
include_directories(${IL_INCLUDE_DIR})
target_link_libraries (${PROJECT_NAME} ${IL_LIBRARIES})
@@ -47,11 +45,5 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
target_link_libraries (${PROJECT_NAME} Threads::Threads)
-# Google test
-if (GTEST_FOUND)
- include_directories(${GTEST_INCLUDE_DIRS})
- target_link_libraries (${PROJECT_NAME} ${GTEST_BOTH_LIBRARIES})
-endif (GTEST_FOUND)
-
target_link_libraries(${PROJECT_NAME} libgame libpoly libsql libthecore liblua)
diff --git a/game/src/MarkImage.cpp b/game/src/MarkImage.cpp
index 9f716fc..54d2877 100644
--- a/game/src/MarkImage.cpp
+++ b/game/src/MarkImage.cpp
@@ -279,7 +279,7 @@ void SGuildMarkBlock::CopyFrom(const BYTE * pbCompBuf, DWORD dwCompSize, DWORD c
return;
m_sizeCompBuf = dwCompSize;
- thecore_memcpy(m_abCompBuf, pbCompBuf, dwCompSize);
+ memcpy(m_abCompBuf, pbCompBuf, dwCompSize);
m_crc = crc;
//printf("SGuildMarkBlock::CopyFrom: %u > %u crc %u\n", sizeof(Pixel) * SGuildMarkBlock::SIZE, m_sizeCompBuf, m_crc);
}
diff --git a/game/src/auction_manager.cpp b/game/src/auction_manager.cpp
index 56a49f3..3b6a8ac 100644
--- a/game/src/auction_manager.cpp
+++ b/game/src/auction_manager.cpp
@@ -116,7 +116,7 @@ bool AuctionBoard::InsertItemInfo (TAuctionItemInfo* item_info)
}
c = new TAuctionItemInfo();
- thecore_memcpy (c, item_info, sizeof(TAuctionItemInfo));
+ memcpy (c, item_info, sizeof(TAuctionItemInfo));
c->item_proto = ITEM_MANAGER::instance().GetTable(c->item_num);
item_map.insert(TItemInfoMap::value_type(item_info->item_id, c));
@@ -170,7 +170,7 @@ bool AuctionBoard::UpdateItemInfo (TAuctionItemInfo* item_info)
return false;
}
- thecore_memcpy (c, item_info, sizeof(TAuctionItemInfo));
+ memcpy (c, item_info, sizeof(TAuctionItemInfo));
return true;
}
@@ -352,7 +352,7 @@ bool SaleBoard::InsertItemInfo (TSaleItemInfo* item_info)
return false;
}
c = new TSaleItemInfo ();
- thecore_memcpy (c, item_info, sizeof(TSaleItemInfo));
+ memcpy (c, item_info, sizeof(TSaleItemInfo));
c->item_proto = ITEM_MANAGER::instance().GetTable(c->item_num);
@@ -457,7 +457,7 @@ bool WishBoard::InsertItemInfo (TWishItemInfo* item_info)
if (item_it == item_map->end())
{
TWishItemInfo* c = new TWishItemInfo();
- thecore_memcpy (c, item_info, sizeof(TWishItemInfo));
+ memcpy (c, item_info, sizeof(TWishItemInfo));
c->item_proto = ITEM_MANAGER::instance().GetTable(c->item_num);
item_map->insert (TItemMap::value_type (item_num, c));
@@ -1234,7 +1234,7 @@ void AuctionManager::recv_result_auction (DWORD commander_id, TPacketDGResultAuc
cmd_result++;
TAuctionItemInfo* new_item_info = (TAuctionItemInfo*)cmd_result;
TAuctionItemInfo* old_item_info = Auction.GetItemInfo (new_item_info->get_item_id());
- thecore_memcpy (old_item_info, new_item_info, sizeof(TAuctionItemInfo));
+ memcpy (old_item_info, new_item_info, sizeof(TAuctionItemInfo));
MyBid.Insert(new_item_info->bidder_id, new_item_info->item_id, new_item_info->get_bid_price());
if (ch != NULL)
{
@@ -1251,7 +1251,7 @@ void AuctionManager::recv_result_auction (DWORD commander_id, TPacketDGResultAuc
cmd_result++;
TAuctionItemInfo* new_item_info = (TAuctionItemInfo*)cmd_result;
TAuctionItemInfo* old_item_info = Auction.GetItemInfo (new_item_info->get_item_id());
- thecore_memcpy (old_item_info, new_item_info, sizeof(TAuctionItemInfo));
+ memcpy (old_item_info, new_item_info, sizeof(TAuctionItemInfo));
if (ch != NULL)
{
ch->ChatPacket(CHAT_TYPE_INFO, "ﱸ عȾ.");
diff --git a/game/src/auth_brazil.cpp b/game/src/auth_brazil.cpp
deleted file mode 100644
index 3ab5d16..0000000
--- a/game/src/auth_brazil.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/* vi: set sw=4 ts=8 cino=g0,\:0 : */
-/*********************************************************************
- * date : 2010.4.7
- * file : auth_brazil.c
- * author : mhh
- * description :
- */
-#include "stdafx.h"
-
-#ifndef __WIN32__
-#include
-#include
-#endif
-#include
-#include
-#ifdef __FreeBSD__
-#include
-#else
-#include "../../libthecore/include/xmd5.h"
-#endif
-
-#include "auth_brazil.h"
-
-static const char* FN_md5(const char *src)
-{
- static char s_buffer[512];
-
- memset(s_buffer, 0x00, sizeof(s_buffer));
-
- unsigned char digest[16] = {0};
- MD5_CTX md5;
- MD5Init(&md5);
- MD5Update(&md5, (const unsigned char*) src, strlen(src));
- MD5Final(digest, &md5);
-
- int offset = 0;
- for (int i=0; i<16; ++i) {
- offset += sprintf(s_buffer + offset, "%02x", digest[i]);
- }
- return s_buffer;
-}
-
-
-static int FN_make_request(const char *login, const char *password, /*out*/ char *dst, int dst_size)
-{
- int len = snprintf(dst, dst_size,
-// "GET /metin2/game_auth.php?ID=%s&PW=%s HTTP/1.1\r\n"
- "GET /metin2/?ID=%s&PW=%s HTTP/1.1\r\n"
- "Host: auth.ongame.com.br\r\n"
- "Connection: Close\r\n\r\n",
- login, FN_md5(password));
-
- return len;
-}
-
-
-static int FN_parse_reply(char *reply)
-{
- char buffer[2048];
- strncpy(buffer, reply, sizeof(buffer));
-
- const char *delim = "\r\n";
- char *last = 0;
- char *v = strtok_r(buffer, delim, &last);
- char *result = 0;
-
- while (v)
- {
- result = v;
- v = strtok_r(NULL, delim, &last);
- }
-
- if (result)
- {
- if (0 == strcasecmp("true", result))
- return AUTH_BRAZIL_SUCC;
- else if (0 == strcasecmp("false", result))
- return AUTH_BRAZIL_WRONGPWD;
- else if (0 == strcasecmp("unknown", result))
- return AUTH_BRAZIL_NOID;
- else if (0 == strcasecmp("flash", result))
- return AUTH_BRAZIL_FLASHUSER;
- }
-
- return AUTH_BRAZIL_SERVER_ERR;
-}
-
-
-extern void socket_timeout(socket_t s, long sec, long usec);
-
-int auth_brazil(const char *login, const char *pwd)
-{
-
- const char *host = "auth.ongame.com.br";
- int port = 80;
-
- socket_t fd = socket_connect(host, port);
- if (fd < 0)
- {
- sys_err("[AUTH_BRAZIL] : could not connect to gsp server(%s)", host);
- return AUTH_BRAZIL_SERVER_ERR;
- }
-
- socket_block(fd);
- socket_timeout(fd, 3, 0);
-
- // send request
- {
- char request[512];
- int len = FN_make_request(login, pwd, request, sizeof(request));
-
-#ifndef __WIN32__
- if (write(fd, request, len) < 0)
-#else
- if (_write(fd, request, len) < 0)
-#endif
- {
- sys_err("[AUTH_BRAZIL] : could not send auth-request (%s)", login);
- close(fd);
- return AUTH_BRAZIL_SERVER_ERR;
- }
- }
-
- // read reply
- {
- char reply[1024] = {0};
- int len = read(fd, reply, sizeof(reply));
- close(fd);
-
- if (len <= 0)
- {
- sys_err("[AUTH_BRAZIL] : could not recv auth-reply (%s)", login);
- return AUTH_BRAZIL_SERVER_ERR;
- }
-
- // 쿡 query count ø.
- auth_brazil_inc_query_count();
-
- return FN_parse_reply(reply);
- }
-}
-
-
-static int s_query_count = 0;
-
-int auth_brazil_inc_query_count()
-{
- return ++s_query_count;
-}
-
-void auth_brazil_log()
-{
- FILE *fp = 0;
-
- // open and try backup
- {
- fp = fopen("AUTH_COUNT.log", "a");
-
- if (0 == fp)
- return;
-
- struct stat sb;
- fstat(fileno(fp), &sb);
- if (sb.st_size > 1024 * 1024)
- {
- fclose(fp);
- rename("AUTH_COUNT.log", "AUTH_COUNT.log.old");
-
- fp = fopen("AUTH_COUNT.log", "a");
- }
- }
-
- // write log
- {
- fprintf(fp, "%d\n", s_query_count);
- fclose(fp);
- }
-
- // reset query count
- s_query_count = 0;
-}
-
diff --git a/game/src/auth_brazil.h b/game/src/auth_brazil.h
deleted file mode 100644
index 5a69ee9..0000000
--- a/game/src/auth_brazil.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* vi: set sw=4 ts=8 cino=g0,\:0 : */
-/*********************************************************************
- * date : 2010.4.7
- * file : auth_brazil.h
- * author : mhh
- * description :
- */
-#ifndef __auth_brazil_h_1270647899__
-#define __auth_brazil_h_1270647899__
-
-#define AUTH_BRAZIL_SERVER_ERR 0
-#define AUTH_BRAZIL_SUCC 1
-#define AUTH_BRAZIL_NOID 2
-#define AUTH_BRAZIL_WRONGPWD 3
-#define AUTH_BRAZIL_FLASHUSER 4
-
-int auth_brazil(const char *login, const char *pwd);
-
-
-int auth_brazil_inc_query_count();
-void auth_brazil_log();
-
-#endif // __auth_brazil_h_1270647899__
diff --git a/game/src/building.cpp b/game/src/building.cpp
index 12aec0c..0d2d775 100644
--- a/game/src/building.cpp
+++ b/game/src/building.cpp
@@ -37,7 +37,7 @@ CObject::CObject(TObject * pData, TObjectProto * pProto)
{
CEntity::Initialize(ENTITY_OBJECT);
- thecore_memcpy(&m_data, pData, sizeof(TObject));
+ memcpy(&m_data, pData, sizeof(TObject));
}
CObject::~CObject()
@@ -315,7 +315,7 @@ void CObject::RegenNPC()
CLand::CLand(TLand * pData)
{
- thecore_memcpy(&m_data, pData, sizeof(TLand));
+ memcpy(&m_data, pData, sizeof(TLand));
}
CLand::~CLand()
@@ -647,7 +647,7 @@ void CManager::Destroy()
bool CManager::LoadObjectProto(const TObjectProto * pProto, int size) // from DB
{
m_vec_kObjectProto.resize(size);
- thecore_memcpy(&m_vec_kObjectProto[0], pProto, sizeof(TObjectProto) * size);
+ memcpy(&m_vec_kObjectProto[0], pProto, sizeof(TObjectProto) * size);
for (int i = 0; i < size; ++i)
{
diff --git a/game/src/char.cpp b/game/src/char.cpp
index f659bf7..039aead 100644
--- a/game/src/char.cpp
+++ b/game/src/char.cpp
@@ -1226,10 +1226,10 @@ void CHARACTER::CreatePlayerProto(TPlayerTable & tab)
if (m_stMobile.length() && !*m_szMobileAuth)
strncpy(tab.szMobile, m_stMobile.c_str(), sizeof(tab.szMobile));
- thecore_memcpy(tab.parts, m_pointsInstant.parts, sizeof(tab.parts));
+ memcpy(tab.parts, m_pointsInstant.parts, sizeof(tab.parts));
// REMOVE_REAL_SKILL_LEVLES
- thecore_memcpy(tab.skills, m_pSkillLevels, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
+ memcpy(tab.skills, m_pSkillLevels, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
// END_OF_REMOVE_REAL_SKILL_LEVLES
tab.horse = GetHorseData();
@@ -1737,7 +1737,7 @@ void CHARACTER::SetPlayerProto(const TPlayerTable * t)
M2_DELETE_ARRAY(m_pSkillLevels);
m_pSkillLevels = M2_NEW TPlayerSkill[SKILL_MAX_NUM];
- thecore_memcpy(m_pSkillLevels, t->skills, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
+ memcpy(m_pSkillLevels, t->skills, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
// END_OF_REMOVE_REAL_SKILL_LEVLES
if (t->lMapIndex >= 10000)
@@ -1804,7 +1804,7 @@ void CHARACTER::SetPlayerProto(const TPlayerTable * t)
if (GetHorseLevel() > 0)
UpdateHorseDataByLogoff(t->logoff_interval);
- thecore_memcpy(m_aiPremiumTimes, t->aiPremiumTimes, sizeof(t->aiPremiumTimes));
+ memcpy(m_aiPremiumTimes, t->aiPremiumTimes, sizeof(t->aiPremiumTimes));
m_dwLogOffInterval = t->logoff_interval;
@@ -6251,8 +6251,8 @@ void CHARACTER::SendEquipment(LPCHARACTER ch)
p.equips[i].vnum = item->GetVnum();
p.equips[i].count = item->GetCount();
- thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
- thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
+ memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
+ memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
}
else
{
diff --git a/game/src/char_affect.cpp b/game/src/char_affect.cpp
index 1e94ef1..1c454d1 100644
--- a/game/src/char_affect.cpp
+++ b/game/src/char_affect.cpp
@@ -453,7 +453,7 @@ void CHARACTER::LoadAffect(DWORD dwCount, TPacketAffectElement * pElements)
info->pid = GetPlayerID();
info->count = dwCount;
info->data = M2_NEW char[sizeof(TPacketAffectElement) * dwCount];
- thecore_memcpy(info->data, pElements, sizeof(TPacketAffectElement) * dwCount);
+ memcpy(info->data, pElements, sizeof(TPacketAffectElement) * dwCount);
event_create(load_affect_login_event, info, PASSES_PER_SEC(1));
diff --git a/game/src/char_item.cpp b/game/src/char_item.cpp
index 19220d4..f49fe40 100644
--- a/game/src/char_item.cpp
+++ b/game/src/char_item.cpp
@@ -414,8 +414,8 @@ void CHARACTER::SetItem(TItemPos Cell, LPITEM pItem)
pack.highlight = (Cell.window_type == DRAGON_SOUL_INVENTORY);
- thecore_memcpy(pack.alSockets, pItem->GetSockets(), sizeof(pack.alSockets));
- thecore_memcpy(pack.aAttr, pItem->GetAttributes(), sizeof(pack.aAttr));
+ memcpy(pack.alSockets, pItem->GetSockets(), sizeof(pack.alSockets));
+ memcpy(pack.aAttr, pItem->GetAttributes(), sizeof(pack.aAttr));
GetDesc()->Packet(&pack, sizeof(TPacketGCItemSet));
}
@@ -1346,7 +1346,7 @@ bool CHARACTER::RefineInformation(BYTE bCell, BYTE bType, int iAdditionalCell)
else
{
p.material_count = prt->material_count;
- thecore_memcpy(&p.materials, prt->materials, sizeof(prt->materials));
+ memcpy(&p.materials, prt->materials, sizeof(prt->materials));
}
// END_OF_REFINE_COST
@@ -4403,8 +4403,7 @@ bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)
if (GetDungeon())
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT(" ȿ %s%s ϴ."),
- item->GetName(),
- g_iUseLocale ? "" : (under_han(item->GetName()) ? LC_TEXT("") : LC_TEXT("")));
+ item->GetName(), "");
return false;
}
diff --git a/game/src/char_skill.cpp b/game/src/char_skill.cpp
index d92e231..517251c 100644
--- a/game/src/char_skill.cpp
+++ b/game/src/char_skill.cpp
@@ -163,7 +163,7 @@ void CHARACTER::SkillLevelPacket()
TPacketGCSkillLevel pack;
pack.bHeader = HEADER_GC_SKILL_LEVEL;
- thecore_memcpy(&pack.skills, m_pSkillLevels, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
+ memcpy(&pack.skills, m_pSkillLevels, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
GetDesc()->Packet(&pack, sizeof(TPacketGCSkillLevel));
}
diff --git a/game/src/cmd_general.cpp b/game/src/cmd_general.cpp
index 8672abf..74342aa 100644
--- a/game/src/cmd_general.cpp
+++ b/game/src/cmd_general.cpp
@@ -1,9 +1,4 @@
#include "stdafx.h"
-#ifdef __FreeBSD__
-#include
-#else
-#include "../../libthecore/include/xmd5.h"
-#endif
#include "utils.h"
#include "config.h"
@@ -112,8 +107,7 @@ ACMD(do_user_horse_feed)
ch->RemoveSpecifyItem(dwFood, 1);
ch->FeedHorse();
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT(" %s%s ־ϴ."),
- ITEM_MANAGER::instance().GetTable(dwFood)->szLocaleName,
- g_iUseLocale ? "" : under_han(ITEM_MANAGER::instance().GetTable(dwFood)->szLocaleName) ? LC_TEXT("") : LC_TEXT(""));
+ ITEM_MANAGER::instance().GetTable(dwFood)->szLocaleName, "");
}
else
{
@@ -2353,30 +2347,9 @@ ACMD(do_in_game_mall)
}
char buf[512+1];
- char sas[33];
- MD5_CTX ctx;
- const char sas_key[] = "GF9001";
- snprintf(buf, sizeof(buf), "%u%u%s", ch->GetPlayerID(), ch->GetAID(), sas_key);
-
- MD5Init(&ctx);
- MD5Update(&ctx, (const unsigned char *) buf, strlen(buf));
-#ifdef __FreeBSD__
- MD5End(&ctx, sas);
-#else
- static const char hex[] = "0123456789abcdef";
- unsigned char digest[16];
- MD5Final(digest, &ctx);
- int i;
- for (i = 0; i < 16; ++i) {
- sas[i+i] = hex[digest[i] >> 4];
- sas[i+i+1] = hex[digest[i] & 0x0f];
- }
- sas[i+i] = '\0';
-#endif
-
- snprintf(buf, sizeof(buf), "mall http://%s/ishop?pid=%u&c=%s&sid=%d&sas=%s",
- g_strWebMallURL.c_str(), ch->GetPlayerID(), country_code, g_server_id, sas);
+ snprintf(buf, sizeof(buf), "mall http://%s/ishop?pid=%u&c=%s&sid=%d",
+ g_strWebMallURL.c_str(), ch->GetPlayerID(), country_code, g_server_id);
ch->ChatPacket(CHAT_TYPE_COMMAND, buf);
}
diff --git a/game/src/cmd_gm.cpp b/game/src/cmd_gm.cpp
index b41d14f..00e436f 100644
--- a/game/src/cmd_gm.cpp
+++ b/game/src/cmd_gm.cpp
@@ -365,7 +365,7 @@ ACMD(do_goto)
return;
}
- if (isnhdigit(*arg1) && isnhdigit(*arg2))
+ if (isdigit(*arg1) && isdigit(*arg2))
{
str_to_number(x, arg1);
str_to_number(y, arg2);
@@ -388,7 +388,7 @@ ACMD(do_goto)
if (*arg1 == '#')
str_to_number(mapIndex, (arg1 + 1));
- if (*arg2 && isnhdigit(*arg2))
+ if (*arg2 && isdigit(*arg2))
{
str_to_number(empire, arg2);
empire = MINMAX(1, empire, 3);
@@ -452,7 +452,7 @@ ACMD(do_warp)
int x = 0, y = 0;
- if (isnhdigit(*arg1) && isnhdigit(*arg2))
+ if (isdigit(*arg1) && isdigit(*arg2))
{
str_to_number(x, arg1);
str_to_number(y, arg2);
@@ -518,7 +518,7 @@ ACMD(do_item)
DWORD dwVnum;
- if (isnhdigit(*arg1))
+ if (isdigit(*arg1))
str_to_number(dwVnum, arg1);
else
{
@@ -769,7 +769,7 @@ ACMD(do_mob)
const CMob* pkMob = NULL;
- if (isnhdigit(*arg1))
+ if (isdigit(*arg1))
{
str_to_number(vnum, arg1);
@@ -830,7 +830,7 @@ ACMD(do_mob_ld)
const CMob* pkMob = NULL;
- if (isnhdigit(*arg1))
+ if (isdigit(*arg1))
{
str_to_number(vnum, arg1);
@@ -1951,7 +1951,7 @@ ACMD(do_book)
CSkillProto * pkProto;
- if (isnhdigit(*arg1))
+ if (isdigit(*arg1))
{
DWORD vnum = 0;
str_to_number(vnum, arg1);
diff --git a/game/src/config.cpp b/game/src/config.cpp
index 00ac9d0..cbb5a62 100644
--- a/game/src/config.cpp
+++ b/game/src/config.cpp
@@ -124,16 +124,10 @@ int gPlayerMaxLevel = 99;
bool g_BlockCharCreation = false;
-
-//OPENID
-int openid_server = 0;
-char openid_host[256];
-char openid_uri[256];
-
bool is_string_true(const char * string)
{
bool result = 0;
- if (isnhdigit(*string))
+ if (isdigit(*string))
{
str_to_number(result, string);
return result > 0 ? true : false;
@@ -490,25 +484,7 @@ void config_init(const string& st_localeServiceName)
snprintf(buf, sizeof(buf), "LOG_SQL: %s %s %s %s %d", log_host, log_user, log_pwd, log_db, log_port);
continue;
}
-
-
- //OPENID
- TOKEN("WEB_AUTH")
- {
- const char * line = two_arguments(value_string, openid_host, sizeof(openid_host), openid_uri, sizeof(openid_uri));
-
- if (!*openid_host || !*openid_uri)
- {
- fprintf(stderr, "WEB_AUTH syntax error (ex: WEB_AUTH \n");
- exit(1);
- }
-
- char buf[1024];
- openid_server = 1;
- snprintf(buf, sizeof(buf), "WEB_AUTH: %s %s", openid_host, openid_uri);
- continue;
- }
- }
+ }
//ó .
fclose(fpOnlyForDB);
@@ -859,7 +835,7 @@ void config_init(const string& st_localeServiceName)
for (; *p; p++)
{
- if (isnhspace(*p))
+ if (isspace(*p))
{
if (stNum.length())
{
diff --git a/game/src/db.cpp b/game/src/db.cpp
index 8e4dcdb..0499599 100644
--- a/game/src/db.cpp
+++ b/game/src/db.cpp
@@ -19,11 +19,9 @@
#include "locale_service.h"
#include "pcbang.h"
#include "spam.h"
-#include "auth_brazil.h"
extern bool g_bNoPasspod;
extern std::string g_stBlockDate;
-extern int openid_server;
//߱ passpod Լ
bool CheckPasspod(const char * account)
@@ -490,8 +488,8 @@ void DBManager::SendAuthLogin(LPDESC d)
ptod.bBillType = pkLD->GetBillType();
ptod.dwBillID = pkLD->GetBillID();
- thecore_memcpy(ptod.iPremiumTimes, pkLD->GetPremiumPtr(), sizeof(ptod.iPremiumTimes));
- thecore_memcpy(&ptod.adwClientKey, pkLD->GetClientKey(), sizeof(DWORD) * 4);
+ memcpy(ptod.iPremiumTimes, pkLD->GetPremiumPtr(), sizeof(ptod.iPremiumTimes));
+ memcpy(&ptod.adwClientKey, pkLD->GetClientKey(), sizeof(DWORD) * 4);
db_clientdesc->DBPacket(HEADER_GD_AUTH_LOGIN, d->GetHandle(), &ptod, sizeof(TPacketGDAuthLogin));
sys_log(0, "SendAuthLogin %s key %u", ptod.szLogin, ptod.dwID);
@@ -698,22 +696,9 @@ void DBManager::AnalyzeReturnQuery(SQLMsg * pMsg)
if (pMsg->Get()->uiNumRows == 0)
{
- if (true == LC_IsBrazil())
- {
- // Ѵ
- ReturnQuery(QID_BRAZIL_CREATE_ID, qi->dwIdent, pinfo,
- "INSERT INTO account(login, password, social_id, create_time) "
- "VALUES('%s', password('%s'), '0000000', NOW()) ;",
- pinfo->login, pinfo->passwd);
-
- sys_log(0, "[AUTH_BRAZIL] : Create A new AccountID From OnGame");
- }
- else
- {
- sys_log(0, " NOID");
- LoginFailure(d, "NOID");
- M2_DELETE(pinfo);
- }
+ sys_log(0, " NOID");
+ LoginFailure(d, "NOID");
+ M2_DELETE(pinfo);
}
else
{
@@ -898,238 +883,6 @@ void DBManager::AnalyzeReturnQuery(SQLMsg * pMsg)
}
}
break;
- case QID_AUTH_LOGIN_OPENID:
- {
- TPacketCGLogin3 * pinfo = (TPacketCGLogin3 *) qi->pvData;
- LPDESC d = DESC_MANAGER::instance().FindByLoginKey(qi->dwIdent);
-
- if (!d)
- {
- M2_DELETE(pinfo);
- break;
- }
- //ġ - By SeMinZ
- d->SetLogin(pinfo->login);
-
- sys_log(0, "QID_AUTH_LOGIN_OPENID: START %u %p", qi->dwIdent, get_pointer(d));
-
- if (pMsg->Get()->uiNumRows == 0)
- {
- if (true == LC_IsBrazil())
- {
- // Ѵ
- ReturnQuery(QID_BRAZIL_CREATE_ID, qi->dwIdent, pinfo,
- "INSERT INTO account(login, password, social_id, create_time) "
- "VALUES('%s', password('%s'), '0000000', NOW()) ;",
- pinfo->login, pinfo->passwd);
-
- sys_log(0, "[AUTH_BRAZIL] : Create A new AccountID From OnGame");
- } else if (true == LC_IsJapan())
- {
- // Ѵ
- ReturnQuery(QID_JAPAN_CREATE_ID, qi->dwIdent, pinfo,
- "INSERT INTO account(login, password, social_id, create_time) "
- "VALUES('%s', password('%s'), '0000000', NOW()) ;",
- pinfo->login, "^Aasl@(!$)djl!231fj!");
-
- sys_log(0, "[AUTH_JAPAN] : Create A new AccountID From OGE");
- }
- else
- {
- sys_log(0, " NOID");
- LoginFailure(d, "NOID");
- M2_DELETE(pinfo);
- }
- }
- else
- {
- MYSQL_ROW row = mysql_fetch_row(pMsg->Get()->pSQLResult);
- int col = 0;
-
- // PASSWORD('%s'), password, securitycode, social_id, id, status
- char szEncrytPassword[45 + 1];
- char szPassword[45 + 1];
- char szMatrixCode[MATRIX_CODE_MAX_LEN + 1];
- char szSocialID[SOCIAL_ID_MAX_LEN + 1];
- char szStatus[ACCOUNT_STATUS_MAX_LEN + 1];
- DWORD dwID = 0;
-
- if (!row[col])
- {
- sys_err("error column %d", col);
- M2_DELETE(pinfo);
- break;
- }
-
- strncpy(szEncrytPassword, row[col++], sizeof(szEncrytPassword));
-
- if (!row[col])
- {
- sys_err("error column %d", col);
- M2_DELETE(pinfo);
- break;
- }
-
- strncpy(szPassword, row[col++], sizeof(szPassword));
-
- if (!row[col])
- {
- *szMatrixCode = '\0';
- col++;
- }
- else
- {
- strncpy(szMatrixCode, row[col++], sizeof(szMatrixCode));
- }
-
- if (!row[col])
- {
- sys_err("error column %d", col);
- M2_DELETE(pinfo);
- break;
- }
-
- strncpy(szSocialID, row[col++], sizeof(szSocialID));
-
- if (!row[col])
- {
- sys_err("error column %d", col);
- M2_DELETE(pinfo);
- break;
- }
-
- str_to_number(dwID, row[col++]);
-
- if (!row[col])
- {
- sys_err("error column %d", col);
- M2_DELETE(pinfo);
- break;
- }
-
- strncpy(szStatus, row[col++], sizeof(szStatus));
-
- BYTE bNotAvail = 0;
- str_to_number(bNotAvail, row[col++]);
-
- int aiPremiumTimes[PREMIUM_MAX_NUM];
- memset(&aiPremiumTimes, 0, sizeof(aiPremiumTimes));
-
- char szCreateDate[256] = "00000000";
-
- if (!g_iUseLocale)
- {
- str_to_number(aiPremiumTimes[PREMIUM_EXP], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_ITEM], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_SAFEBOX], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_AUTOLOOT], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_FISH_MIND], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_MARRIAGE_FAST], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_GOLD], row[col++]);
- }
- else
- {
- str_to_number(aiPremiumTimes[PREMIUM_EXP], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_ITEM], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_SAFEBOX], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_AUTOLOOT], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_FISH_MIND], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_MARRIAGE_FAST], row[col++]);
- str_to_number(aiPremiumTimes[PREMIUM_GOLD], row[col++]);
-
- if (LC_IsEurope() || test_server)
- {
- long retValue = 0;
- str_to_number(retValue, row[col]);
-
- time_t create_time = retValue;
- struct tm * tm1;
- tm1 = localtime(&create_time);
- strftime(szCreateDate, 255, "%Y%m%d", tm1);
-
- sys_log(0, "Create_Time %d %s", retValue, szCreateDate);
- sys_log(0, "Block Time %d ", strncmp(szCreateDate, g_stBlockDate.c_str(), 8));
- }
- }
-
- int nPasswordDiff = strcmp(szEncrytPassword, szPassword);
-
- if (true == LC_IsBrazil())
- {
- nPasswordDiff = 0; // йȣ üũ ʴ´.
- }
-
- //OpenID : OpenID , йȣ üũ ʴ´.
- if (openid_server)
- {
- nPasswordDiff = 0;
- }
-
- if (nPasswordDiff)
- {
- LoginFailure(d, "WRONGPWD");
- sys_log(0, " WRONGPWD");
- M2_DELETE(pinfo);
- }
- else if (bNotAvail)
- {
- LoginFailure(d, "NOTAVAIL");
- sys_log(0, " NOTAVAIL");
- M2_DELETE(pinfo);
- }
- else if (DESC_MANAGER::instance().FindByLoginName(pinfo->login))
- {
- LoginFailure(d, "ALREADY");
- sys_log(0, " ALREADY");
- M2_DELETE(pinfo);
- }
- else if (strcmp(szStatus, "OK"))
- {
- LoginFailure(d, szStatus);
- sys_log(0, " STATUS: %s", szStatus);
- M2_DELETE(pinfo);
- }
- else
- {
- if (LC_IsEurope())
- {
- //stBlockData >= 0 == ¥ BlockDate ̷
- if (strncmp(szCreateDate, g_stBlockDate.c_str(), 8) >= 0)
- {
- LoginFailure(d, "BLKLOGIN");
- sys_log(0, " BLKLOGIN");
- M2_DELETE(pinfo);
- break;
- }
-
- char szQuery[1024];
- snprintf(szQuery, sizeof(szQuery), "UPDATE account SET last_play=NOW() WHERE id=%u", dwID);
- std::unique_ptr msg( DBManager::instance().DirectQuery(szQuery) );
- }
-
- TAccountTable & r = d->GetAccountTable();
-
- r.id = dwID;
- trim_and_lower(pinfo->login, r.login, sizeof(r.login));
- strncpy(r.passwd, pinfo->passwd, sizeof(r.passwd));
- strncpy(r.social_id, szSocialID, sizeof(r.social_id));
- DESC_MANAGER::instance().ConnectAccount(r.login, d);
-
- d->SetMatrixCode(szMatrixCode);
-
- if (!g_bBilling)
- {
- LoginPrepare(BILLING_FREE, 0, 0, d, pinfo->adwClientKey, aiPremiumTimes);
- //By SeMinZ
- M2_DELETE(pinfo);
- break;
- }
-
- sys_log(0, "QID_AUTH_LOGIN_OPENID: SUCCESS %s", pinfo->login);
- }
- }
- }
- break;
case QID_BILLING_GET_TIME:
{
@@ -1436,69 +1189,6 @@ void DBManager::AnalyzeReturnQuery(SQLMsg * pMsg)
// END_OF_PCBANG_IP_LIST
- case QID_BRAZIL_CREATE_ID :
- {
- TPacketCGLogin3 * pinfo = (TPacketCGLogin3 *) qi->pvData ;
-
- if( pMsg->Get()->uiAffectedRows == 0 || pMsg->Get()->uiAffectedRows == (uint32_t)-1 )
- {
- LPDESC d = DESC_MANAGER::instance().FindByLoginKey(qi->dwIdent) ;
- sys_log(0, "[AUTH_BRAZIL] NOID") ;
- sys_log(0, "[AUTH_BRAZIL] : Failed to create a new account %s", pinfo->login) ;
- LoginFailure(d, "NOID") ;
- M2_DELETE(pinfo);
- }
- else
- {
- sys_log(0, "[AUTH_BRAZIL] : Succeed to create a new account %s", pinfo->login) ;
-
- ReturnQuery(QID_AUTH_LOGIN, qi->dwIdent, pinfo,
- "SELECT PASSWORD('%s'),password,securitycode,social_id,id,status,availDt - NOW() > 0,"
- "UNIX_TIMESTAMP(silver_expire),"
- "UNIX_TIMESTAMP(gold_expire),"
- "UNIX_TIMESTAMP(safebox_expire),"
- "UNIX_TIMESTAMP(autoloot_expire),"
- "UNIX_TIMESTAMP(fish_mind_expire),"
- "UNIX_TIMESTAMP(marriage_fast_expire),"
- "UNIX_TIMESTAMP(money_drop_rate_expire),"
- "UNIX_TIMESTAMP(create_time)"
- " FROM account WHERE login='%s'",
- pinfo->passwd, pinfo->login) ;
- }
- }
- break;
- case QID_JAPAN_CREATE_ID :
- {
- TPacketCGLogin3 * pinfo = (TPacketCGLogin3 *) qi->pvData ;
-
- if( pMsg->Get()->uiAffectedRows == 0 || pMsg->Get()->uiAffectedRows == (uint32_t)-1 )
- {
- LPDESC d = DESC_MANAGER::instance().FindByLoginKey(qi->dwIdent) ;
- sys_log(0, "[AUTH_JAPAN] NOID") ;
- sys_log(0, "[AUTH_JAPAN] : Failed to create a new account %s", pinfo->login) ;
- LoginFailure(d, "NOID") ;
- M2_DELETE(pinfo);
- }
- else
- {
- sys_log(0, "[AUTH_JAPAN] : Succeed to create a new account %s", pinfo->login) ;
-
- ReturnQuery(QID_AUTH_LOGIN_OPENID, qi->dwIdent, pinfo,
- "SELECT PASSWORD('%s'),password,securitycode,social_id,id,status,availDt - NOW() > 0,"
- "UNIX_TIMESTAMP(silver_expire),"
- "UNIX_TIMESTAMP(gold_expire),"
- "UNIX_TIMESTAMP(safebox_expire),"
- "UNIX_TIMESTAMP(autoloot_expire),"
- "UNIX_TIMESTAMP(fish_mind_expire),"
- "UNIX_TIMESTAMP(marriage_fast_expire),"
- "UNIX_TIMESTAMP(money_drop_rate_expire),"
- "UNIX_TIMESTAMP(create_time)"
- " FROM account WHERE login='%s'",
- pinfo->passwd, pinfo->login) ;
- }
- }
- break;
-
default:
sys_err("FATAL ERROR!!! Unhandled return query id %d", qi->iType);
break;
diff --git a/game/src/db.h b/game/src/db.h
index 8d93d0b..be0239d 100644
--- a/game/src/db.h
+++ b/game/src/db.h
@@ -16,7 +16,6 @@ enum
QID_SAFEBOX_SIZE,
QID_DB_STRING,
QID_AUTH_LOGIN,
- QID_AUTH_LOGIN_OPENID,
QID_LOTTO,
QID_HIGHSCORE_REGISTER,
QID_HIGHSCORE_SHOW,
@@ -35,9 +34,6 @@ enum
// PROTECT_CHILD_FOR_NEWCIBN
QID_PROTECT_CHILD,
// END_PROTECT_CHILD_FOR_NEWCIBN
-
- QID_BRAZIL_CREATE_ID,
- QID_JAPAN_CREATE_ID,
};
typedef struct SUseTime
diff --git a/game/src/desc.cpp b/game/src/desc.cpp
index 98ae5d7..90c8ebd 100644
--- a/game/src/desc.cpp
+++ b/game/src/desc.cpp
@@ -245,13 +245,13 @@ bool DESC::Setup(LPFDWATCH _fdw, socket_t _fd, const struct sockaddr_in & c_rSoc
#ifndef _IMPROVED_PACKET_ENCRYPTION_
if (LC_IsEurope())
{
- thecore_memcpy(m_adwEncryptionKey, "1234abcd5678efgh", sizeof(DWORD) * 4);
- thecore_memcpy(m_adwDecryptionKey, "1234abcd5678efgh", sizeof(DWORD) * 4);
+ memcpy(m_adwEncryptionKey, "1234abcd5678efgh", sizeof(DWORD) * 4);
+ memcpy(m_adwDecryptionKey, "1234abcd5678efgh", sizeof(DWORD) * 4);
}
else
{
- thecore_memcpy(m_adwEncryptionKey, "testtesttesttest", sizeof(DWORD) * 4);
- thecore_memcpy(m_adwDecryptionKey, "testtesttesttest", sizeof(DWORD) * 4);
+ memcpy(m_adwEncryptionKey, "testtesttesttest", sizeof(DWORD) * 4);
+ memcpy(m_adwDecryptionKey, "testtesttesttest", sizeof(DWORD) * 4);
}
#endif // _IMPROVED_PACKET_ENCRYPTION_
@@ -578,7 +578,7 @@ void DESC::SetPhase(int _phase)
void DESC::BindAccountTable(TAccountTable * pAccountTable)
{
assert(pAccountTable != NULL);
- thecore_memcpy(&m_accountTable, pAccountTable, sizeof(TAccountTable));
+ memcpy(&m_accountTable, pAccountTable, sizeof(TAccountTable));
DESC_MANAGER::instance().ConnectAccount(m_accountTable.login, this);
}
@@ -920,7 +920,7 @@ void DESC::SendLoginSuccessPacket()
p.handle = GetHandle();
p.random_key = DESC_MANAGER::instance().MakeRandomKey(GetHandle()); // FOR MARK
- thecore_memcpy(p.players, rTable.players, sizeof(rTable.players));
+ memcpy(p.players, rTable.players, sizeof(rTable.players));
for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i)
{
@@ -1035,7 +1035,7 @@ void DESC::SetSecurityKey(const DWORD * c_pdwKey)
if (g_iUseLocale && !LC_IsKorea())
c_pszKey = GetKey_20050304Myevan() + 37;
- thecore_memcpy(&m_adwDecryptionKey, c_pdwKey, 16);
+ memcpy(&m_adwDecryptionKey, c_pdwKey, 16);
TEA_Encrypt(&m_adwEncryptionKey[0], &m_adwDecryptionKey[0], (const DWORD *) c_pszKey, 16);
sys_log(0, "SetSecurityKey decrypt %u %u %u %u encrypt %u %u %u %u",
diff --git a/game/src/desc_client.cpp b/game/src/desc_client.cpp
index d49e2d7..26dd536 100644
--- a/game/src/desc_client.cpp
+++ b/game/src/desc_client.cpp
@@ -197,7 +197,7 @@ void CLIENT_DESC::SetPhase(int iPhase)
strncpy(pck.szHost, d->GetHostName(), sizeof(pck.szHost));
pck.dwLoginKey = d->GetLoginKey();
#ifndef _IMPROVED_PACKET_ENCRYPTION_
- thecore_memcpy(pck.adwClientKey, d->GetDecryptionKey(), 16);
+ memcpy(pck.adwClientKey, d->GetDecryptionKey(), 16);
#endif
buf.write(&pck, sizeof(TPacketLoginOnSetup));
diff --git a/game/src/desc_manager.cpp b/game/src/desc_manager.cpp
index 99a6cdf..b70fb71 100644
--- a/game/src/desc_manager.cpp
+++ b/game/src/desc_manager.cpp
@@ -419,7 +419,7 @@ void DESC_MANAGER::UpdateLocalUserCount()
f = std::for_each(c_ref_set.begin(), c_ref_set.end(), f);
m_iLocalUserCount = f.iTotalCount;
- thecore_memcpy(m_aiEmpireUserCount, f.aiEmpireUserCount, sizeof(m_aiEmpireUserCount));
+ memcpy(m_aiEmpireUserCount, f.aiEmpireUserCount, sizeof(m_aiEmpireUserCount));
m_aiEmpireUserCount[1] += P2P_MANAGER::instance().GetEmpireUserCount(1);
m_aiEmpireUserCount[2] += P2P_MANAGER::instance().GetEmpireUserCount(2);
diff --git a/game/src/exchange.cpp b/game/src/exchange.cpp
index 7738ea1..42a6501 100644
--- a/game/src/exchange.cpp
+++ b/game/src/exchange.cpp
@@ -33,8 +33,8 @@ void exchange_packet(LPCHARACTER ch, BYTE sub_header, bool is_me, DWORD arg1, TI
if (sub_header == EXCHANGE_SUBHEADER_GC_ITEM_ADD && pvData)
{
- thecore_memcpy(&pack_exchg.alSockets, ((LPITEM) pvData)->GetSockets(), sizeof(pack_exchg.alSockets));
- thecore_memcpy(&pack_exchg.aAttr, ((LPITEM) pvData)->GetAttributes(), sizeof(pack_exchg.aAttr));
+ memcpy(&pack_exchg.alSockets, ((LPITEM) pvData)->GetSockets(), sizeof(pack_exchg.alSockets));
+ memcpy(&pack_exchg.aAttr, ((LPITEM) pvData)->GetAttributes(), sizeof(pack_exchg.aAttr));
}
else
{
@@ -556,7 +556,7 @@ bool CExchange::Accept(bool bAccept)
if (Done())
{
- if (m_lGold) //
+ if (m_lGold) // ??
GetOwner()->Save();
if (GetCompany()->Done())
diff --git a/game/src/fishing.cpp b/game/src/fishing.cpp
index be322fc..73af830 100644
--- a/game/src/fishing.cpp
+++ b/game/src/fishing.cpp
@@ -185,7 +185,7 @@ namespace fishing
void Initialize()
{
SFishInfo fish_info_bak[MAX_FISH];
- thecore_memcpy(fish_info_bak, fish_info, sizeof(fish_info));
+ memcpy(fish_info_bak, fish_info, sizeof(fish_info));
memset(fish_info, 0, sizeof(fish_info));
@@ -208,7 +208,7 @@ void Initialize()
// ̸ Ѵ.
if (*fish_info_bak[0].name)
{
- thecore_memcpy(fish_info, fish_info_bak, sizeof(fish_info));
+ memcpy(fish_info, fish_info_bak, sizeof(fish_info));
SendLog(" restoring to backup");
}
return;
@@ -237,7 +237,7 @@ void Initialize()
if (*fish_info_bak[0].name)
{
- thecore_memcpy(fish_info, fish_info_bak, sizeof(fish_info));
+ memcpy(fish_info, fish_info_bak, sizeof(fish_info));
SendLog(" restoring to backup");
}
break;
diff --git a/game/src/guild.cpp b/game/src/guild.cpp
index 735adba..29332ee 100644
--- a/game/src/guild.cpp
+++ b/game/src/guild.cpp
@@ -600,7 +600,7 @@ void CGuild::LoadGuildData(SQLMsg* pmsg)
m_data.skill_point = (BYTE) strtoul(row[4], (char **) NULL, 10);
if (row[5])
- thecore_memcpy(m_data.abySkill, row[5], sizeof(BYTE) * GUILD_SKILL_COUNT);
+ memcpy(m_data.abySkill, row[5], sizeof(BYTE) * GUILD_SKILL_COUNT);
else
memset(m_data.abySkill, 0, sizeof(BYTE) * GUILD_SKILL_COUNT);
@@ -648,7 +648,7 @@ void CGuild::SendDBSkillUpdate(int amount)
guild_skill.guild_id = m_data.guild_id;
guild_skill.amount = amount;
guild_skill.skill_point = m_data.skill_point;
- thecore_memcpy(guild_skill.skill_levels, m_data.abySkill, sizeof(BYTE) * GUILD_SKILL_COUNT);
+ memcpy(guild_skill.skill_levels, m_data.abySkill, sizeof(BYTE) * GUILD_SKILL_COUNT);
db_clientdesc->DBPacket(HEADER_GD_GUILD_SKILL_UPDATE, 0, &guild_skill, sizeof(guild_skill));
}
@@ -1466,7 +1466,7 @@ void CGuild::UpdateSkill(BYTE skill_point, BYTE* skill_levels)
}
}*/
- thecore_memcpy(m_data.abySkill, skill_levels, sizeof(BYTE) * GUILD_SKILL_COUNT);
+ memcpy(m_data.abySkill, skill_levels, sizeof(BYTE) * GUILD_SKILL_COUNT);
ComputeGuildPoints();
}
diff --git a/game/src/guild_manager.cpp b/game/src/guild_manager.cpp
index f2e5390..0b86a0f 100644
--- a/game/src/guild_manager.cpp
+++ b/game/src/guild_manager.cpp
@@ -883,7 +883,7 @@ void CGuildManager::ReserveWarAdd(TGuildWarReserve * p)
m_vec_kReserveWar.push_back(pkReserve);
}
- thecore_memcpy(&pkReserve->data, p, sizeof(TGuildWarReserve));
+ memcpy(&pkReserve->data, p, sizeof(TGuildWarReserve));
sys_log(0, "ReserveWarAdd %u gid1 %u power %d gid2 %u power %d handicap %d",
pkReserve->data.dwID, p->dwGuildFrom, p->lPowerFrom, p->dwGuildTo, p->lPowerTo, p->lHandicap);
diff --git a/game/src/input.h b/game/src/input.h
index 89af4c1..ab9f008 100644
--- a/game/src/input.h
+++ b/game/src/input.h
@@ -233,7 +233,6 @@ protected:
void ChangeName(LPDESC d, const char * data);
void AuthLogin(LPDESC d, const char * c_pData);
- void AuthLoginOpenID(LPDESC d, const char * c_pData);
void ItemAward(const char * c_pData);
void ChangeEmpirePriv(const char* c_pData);
@@ -365,11 +364,9 @@ class CInputAuth : public CInputProcessor
protected:
virtual int Analyze(LPDESC d, BYTE bHeader, const char * c_pData);
- int auth_OpenID(const char *authKey, const char *ipAddr, char *rID);
public:
void Login(LPDESC d, const char * c_pData);
- void LoginOpenID(LPDESC d, const char * c_pData); //2012.07.19 OpenID :
void PasspodAnswer(LPDESC d, const char * c_pData );
};
diff --git a/game/src/input_auth.cpp b/game/src/input_auth.cpp
index a03e595..ac97dc7 100644
--- a/game/src/input_auth.cpp
+++ b/game/src/input_auth.cpp
@@ -8,11 +8,9 @@
#include "matrix_card.h"
#include "passpod.h"
#include "locale_service.h"
-#include "auth_brazil.h"
#include "db.h"
extern time_t get_global_time();
-extern int openid_server;
bool FN_IS_VALID_LOGIN_STRING(const char *str)
{
@@ -157,28 +155,8 @@ void CInputAuth::Login(LPDESC d, const char * c_pData)
sys_log(0, "InputAuth::Login : key %u:0x%x login %s", dwKey, dwPanamaKey, login);
- // BRAZIL_AUTH
- if (LC_IsBrazil() && !test_server)
- {
- int result = auth_brazil(login, passwd);
-
- switch (result)
- {
- case AUTH_BRAZIL_SERVER_ERR:
- case AUTH_BRAZIL_NOID:
- LoginFailure(d, "NOID");
- return;
- case AUTH_BRAZIL_WRONGPWD:
- LoginFailure(d, "WRONGPWD");
- return;
- case AUTH_BRAZIL_FLASHUSER:
- LoginFailure(d, "FLASH");
- return;
- }
- }
-
TPacketCGLogin3 * p = M2_NEW TPacketCGLogin3;
- thecore_memcpy(p, pinfo, sizeof(TPacketCGLogin3));
+ memcpy(p, pinfo, sizeof(TPacketCGLogin3));
char szPasswd[PASSWD_MAX_LEN * 2 + 1];
DBManager::instance().EscapeString(szPasswd, sizeof(szPasswd), passwd, strlen(passwd));
@@ -223,278 +201,6 @@ void CInputAuth::Login(LPDESC d, const char * c_pData)
}
}
-void CInputAuth::LoginOpenID(LPDESC d, const char * c_pData)
-{
- //OpenID test code.
- TPacketCGLogin5 *tempInfo1 = (TPacketCGLogin5 *)c_pData;
-
- //Ϻ Ű Ȯ û .
- char* authKey = tempInfo1->authKey;
- char returnID[LOGIN_MAX_LEN + 1] = {0};
-
- int test_url_get_protocol = auth_OpenID(authKey, inet_ntoa(d->GetAddr().sin_addr), returnID);
-
- // . ó
- if (0!=test_url_get_protocol)
- {
- LoginFailure(d, "OpenID Fail");
- return;
- }
-
- TPacketCGLogin3 tempInfo2;
- strncpy(tempInfo2.login, returnID, LOGIN_MAX_LEN);
- strncpy(tempInfo2.passwd, "0000", PASSWD_MAX_LEN);
- for(int i=0;i<4;i++)
- tempInfo2.adwClientKey[i] = tempInfo1->adwClientKey[i];
- TPacketCGLogin3 * pinfo = &tempInfo2;
-
- if (!g_bAuthServer)
- {
- sys_err ("CInputAuth class is not for game server. IP %s might be a hacker.",
- inet_ntoa(d->GetAddr().sin_addr));
- d->DelayedDisconnect(5);
- return;
- }
-
- // string Ἲ
- char login[LOGIN_MAX_LEN + 1];
- trim_and_lower(pinfo->login, login, sizeof(login));
-
- char passwd[PASSWD_MAX_LEN + 1];
- strncpy(passwd, pinfo->passwd, sizeof(passwd));
-
- sys_log(0, "InputAuth::Login : %s(%d) desc %p",
- login, strlen(login), get_pointer(d));
-
- // check login string
- if (false == FN_IS_VALID_LOGIN_STRING(login))
- {
- sys_log(0, "InputAuth::Login : IS_NOT_VALID_LOGIN_STRING(%s) desc %p",
- login, get_pointer(d));
- LoginFailure(d, "NOID");
- return;
- }
-
- if (g_bNoMoreClient)
- {
- TPacketGCLoginFailure failurePacket;
-
- failurePacket.header = HEADER_GC_LOGIN_FAILURE;
- strncpy(failurePacket.szStatus, "SHUTDOWN", sizeof(failurePacket.szStatus));
-
- d->Packet(&failurePacket, sizeof(failurePacket));
- return;
- }
-
- if (DESC_MANAGER::instance().FindByLoginName(login))
- {
- LoginFailure(d, "ALREADY");
- return;
- }
-
- DWORD dwKey = DESC_MANAGER::instance().CreateLoginKey(d);
- DWORD dwPanamaKey = dwKey ^ pinfo->adwClientKey[0] ^ pinfo->adwClientKey[1] ^ pinfo->adwClientKey[2] ^ pinfo->adwClientKey[3];
- d->SetPanamaKey(dwPanamaKey);
-
- sys_log(0, "InputAuth::Login : key %u:0x%x login %s", dwKey, dwPanamaKey, login);
-
- // BRAZIL_AUTH
- if (LC_IsBrazil() && !test_server)
- {
- int result = auth_brazil(login, passwd);
-
- switch (result)
- {
- case AUTH_BRAZIL_SERVER_ERR:
- case AUTH_BRAZIL_NOID:
- LoginFailure(d, "NOID");
- return;
- case AUTH_BRAZIL_WRONGPWD:
- LoginFailure(d, "WRONGPWD");
- return;
- case AUTH_BRAZIL_FLASHUSER:
- LoginFailure(d, "FLASH");
- return;
- }
- }
-
- TPacketCGLogin3 * p = M2_NEW TPacketCGLogin3;
- thecore_memcpy(p, pinfo, sizeof(TPacketCGLogin3));
-
- char szPasswd[PASSWD_MAX_LEN * 2 + 1];
- DBManager::instance().EscapeString(szPasswd, sizeof(szPasswd), passwd, strlen(passwd));
-
- char szLogin[LOGIN_MAX_LEN * 2 + 1];
- DBManager::instance().EscapeString(szLogin, sizeof(szLogin), login, strlen(login));
-
- // CHANNEL_SERVICE_LOGIN
- if (Login_IsInChannelService(szLogin))
- {
- sys_log(0, "ChannelServiceLogin [%s]", szLogin);
-
- DBManager::instance().ReturnQuery(QID_AUTH_LOGIN_OPENID, dwKey, p,
- "SELECT '%s',password,securitycode,social_id,id,status,availDt - NOW() > 0,"
- "UNIX_TIMESTAMP(silver_expire),"
- "UNIX_TIMESTAMP(gold_expire),"
- "UNIX_TIMESTAMP(safebox_expire),"
- "UNIX_TIMESTAMP(autoloot_expire),"
- "UNIX_TIMESTAMP(fish_mind_expire),"
- "UNIX_TIMESTAMP(marriage_fast_expire),"
- "UNIX_TIMESTAMP(money_drop_rate_expire),"
- "UNIX_TIMESTAMP(create_time)"
- " FROM account WHERE login='%s'",
-
- szPasswd, szLogin);
- }
- // END_OF_CHANNEL_SERVICE_LOGIN
- else
- {
- DBManager::instance().ReturnQuery(QID_AUTH_LOGIN_OPENID, dwKey, p,
- "SELECT PASSWORD('%s'),password,securitycode,social_id,id,status,availDt - NOW() > 0,"
- "UNIX_TIMESTAMP(silver_expire),"
- "UNIX_TIMESTAMP(gold_expire),"
- "UNIX_TIMESTAMP(safebox_expire),"
- "UNIX_TIMESTAMP(autoloot_expire),"
- "UNIX_TIMESTAMP(fish_mind_expire),"
- "UNIX_TIMESTAMP(marriage_fast_expire),"
- "UNIX_TIMESTAMP(money_drop_rate_expire),"
- "UNIX_TIMESTAMP(create_time)"
- " FROM account WHERE login='%s'",
- szPasswd, szLogin);
- }
-}
-
-extern void socket_timeout(socket_t s, long sec, long usec);
-
-//OpenID
-int CInputAuth::auth_OpenID(const char *authKey, const char *ipAddr, char *rID)
-{
- //return value
- //0 : normal execution
- //1 : cannot connect to openid auth server
- //2 : socket_write failed
- //3 : openid auth server not reply
- //4 : Reply Error
- //5 : Incorrect auth key.
-
- extern char openid_host[256];
- extern char openid_uri[256];
-
- int port = 80;
-
- socket_t fd = socket_connect(openid_host, port);
- if (fd < 0)
- {
- sys_err("[auth_OpenID] : could not connect to OpenID server(%s)", openid_host);
- return 1;
- }
-
- socket_block(fd);
- socket_timeout(fd, 3, 0);
-
- // send request
- {
- char request[512];
- int len = snprintf(request, sizeof(request),
- //"GET /kyw/gameauth.php?auth_key=%s&ip=%s HTTP/1.1\r\n"
- "GET %s?auth_key=%s&ip=%s HTTP/1.1\r\n"
- "Host: %s\r\n"
- "Connection: Close\r\n\r\n",
- //openid_uri, authKey,ipAddr);//"aaaaa", "202.31.212.73");
- //authKey,ipAddr);
- //"/kyw/gameauth.php", authKey, ipAddr);
- openid_uri, authKey, ipAddr, openid_host);
-
-//#ifndef __WIN32__
-// if (write(fd, request, len) < 0)
-//#else
- if (socket_write(fd, request, len) < 0)
-//#endif
- {
- sys_err("[auth_OpenID] : could not send auth-request (%s)", authKey);
- socket_close(fd);
- return 2;
- }
- }
-
- // read reply
- char reply[1024] = {0};
- int len;
-//#ifndef __WIN32__
-// len = read(fd, reply, sizeof(reply));
-//#else
- len = socket_read(fd, reply, sizeof(reply));
-//#endif
- socket_close(fd);
-
- if (len <= 0)
- {
- sys_err("[auth_OpenID] : could not recv auth-reply (%s)", authKey);
- return 3;
- }
-
- // Ľ
- char buffer[1024];
- strcpy(buffer, reply);
-
- const char *delim = "\r\n";
- char *last = 0;
- char *v = strtok(buffer, delim);
- char *result = 0;
-
- while (v)
- {
- result = v;
- v = strtok(NULL, delim);
- }
-
-
- char *id = strtok(result, "%");
- char *success = strtok(NULL, "%");
-
- if (!*id || !*success)
- {
- sys_err("[auth_OpenID] : OpenID AuthServer Reply Error (%s)", reply);
- return 4;
- }
-
- if (0 != strcmp("OK", success)) // ó
- {
- int returnNumber = 0;
- str_to_number(returnNumber, id);
- switch (returnNumber)
- {
- case 1:
- sys_err("[auth_OpenID] : AuthKey incorrect");
- break;
- case 2:
- sys_err("[auth_OpenID] : ip incorrect");
- break;
- case 3:
- sys_err("[auth_OpenID] : used AuthKey");
- break;
- case 4:
- sys_err("[auth_OpenID] : AuthKey not delivered");
- break;
- case 5:
- sys_err("[auth_OpenID] : ip not delivered");
- break;
- case 6:
- sys_err("[auth_OpenID] : AuthKey time over");
- break;
- default:
- break;
-
- return 5;
- }
- }
-
- strcpy(rID, id);
-
- return 0;
-}
-
-
int CInputAuth::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
{
@@ -521,14 +227,6 @@ int CInputAuth::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
Login(d, c_pData);
break;
- //2012.07.19 OpenID :
- case HEADER_CG_LOGIN5_OPENID:
- if (openid_server)
- LoginOpenID(d, c_pData);
- else
- sys_err("HEADER_CG_LOGIN5_OPENID : wrong client access");
- break;
-
case HEADER_CG_PASSPOD_ANSWER:
PasspodAnswer(d, c_pData);
break;
diff --git a/game/src/input_db.cpp b/game/src/input_db.cpp
index 4b95d04..c67139b 100644
--- a/game/src/input_db.cpp
+++ b/game/src/input_db.cpp
@@ -57,7 +57,6 @@ extern int auction_server;
extern void gm_insert(const char * name, BYTE level);
extern BYTE gm_get_level(const char * name, const char * host, const char* account );
extern void gm_host_insert(const char * host);
-extern int openid_server;
#define MAPNAME_DEFAULT "none"
@@ -1753,42 +1752,6 @@ void CInputDB::AuthLogin(LPDESC d, const char * c_pData)
d->Packet(&ptoc, sizeof(TPacketGCAuthSuccess));
sys_log(0, "AuthLogin result %u key %u", bResult, d->GetLoginKey());
}
-void CInputDB::AuthLoginOpenID(LPDESC d, const char * c_pData)
-{
- if (!d)
- return;
-
- BYTE bResult = *(BYTE *) c_pData;
-
- TPacketGCAuthSuccessOpenID ptoc;
-
- ptoc.bHeader = HEADER_GC_AUTH_SUCCESS_OPENID;
-
- if (bResult)
- {
- // Panama ȣȭ ѿ ʿ Ű
- SendPanamaList(d);
- ptoc.dwLoginKey = d->GetLoginKey();
-
- //NOTE: AuthSucess ȱ PHASE Close Ǽ ʴ´.-_-
- //Send Client Package CryptKey
- {
- DESC_MANAGER::instance().SendClientPackageCryptKey(d);
- DESC_MANAGER::instance().SendClientPackageSDBToLoadMap(d, MAPNAME_DEFAULT);
- }
- }
- else
- {
- ptoc.dwLoginKey = 0;
- }
-
- strcpy(ptoc.login, d->GetLogin().c_str());
-
- ptoc.bResult = bResult;
-
- d->Packet(&ptoc, sizeof(TPacketGCAuthSuccessOpenID));
- sys_log(0, "AuthLogin result %u key %u", bResult, d->GetLoginKey());
-}
void CInputDB::ChangeEmpirePriv(const char* c_pData)
{
@@ -2327,10 +2290,7 @@ int CInputDB::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
break;
case HEADER_DG_AUTH_LOGIN:
- if (openid_server)
- AuthLoginOpenID(DESC_MANAGER::instance().FindByHandle(m_dwHandle), c_pData);
- else
- AuthLogin(DESC_MANAGER::instance().FindByHandle(m_dwHandle), c_pData);
+ AuthLogin(DESC_MANAGER::instance().FindByHandle(m_dwHandle), c_pData);
break;
case HEADER_DG_CHANGE_EMPIRE_PRIV:
diff --git a/game/src/input_login.cpp b/game/src/input_login.cpp
index beb0259..f3eaf80 100644
--- a/game/src/input_login.cpp
+++ b/game/src/input_login.cpp
@@ -196,7 +196,7 @@ void CInputLogin::LoginByKey(LPDESC d, const char * data)
strncpy(ptod.szLogin, login, sizeof(ptod.szLogin));
ptod.dwLoginKey = pinfo->dwLoginKey;
- thecore_memcpy(ptod.adwClientKey, pinfo->adwClientKey, sizeof(DWORD) * 4);
+ memcpy(ptod.adwClientKey, pinfo->adwClientKey, sizeof(DWORD) * 4);
strncpy(ptod.szIP, d->GetHostName(), sizeof(ptod.szIP));
db_clientdesc->DBPacket(HEADER_GD_LOGIN_BY_KEY, d->GetHandle(), &ptod, sizeof(TPacketGDLoginByKey));
diff --git a/game/src/item.cpp b/game/src/item.cpp
index 67b9e0c..d42eb5f 100644
--- a/game/src/item.cpp
+++ b/game/src/item.cpp
@@ -216,7 +216,7 @@ void CItem::UpdatePacket()
for (int i = 0; i < ITEM_SOCKET_MAX_NUM; ++i)
pack.alSockets[i] = m_alSockets[i];
- thecore_memcpy(pack.aAttr, GetAttributes(), sizeof(pack.aAttr));
+ memcpy(pack.aAttr, GetAttributes(), sizeof(pack.aAttr));
sys_log(2, "UpdatePacket %s -> %s", GetName(), m_pOwner->GetName());
m_pOwner->GetDesc()->Packet(&pack, sizeof(pack));
@@ -541,7 +541,7 @@ int CItem::FindEquipCell(LPCHARACTER ch, int iCandidateCell)
return WEAR_UNIQUE1;
}
- // Ʈ ° ѹ E .
+ // Ʈ ° ѹ ?E .
else if (GetWearFlag() & WEARABLE_ABILITY)
{
if (!ch->GetWear(WEAR_ABILITY1))
@@ -994,7 +994,7 @@ bool CItem::CreateSocket(BYTE bSlot, BYTE bGold)
void CItem::SetSockets(const long * c_al)
{
- thecore_memcpy(m_alSockets, c_al, sizeof(m_alSockets));
+ memcpy(m_alSockets, c_al, sizeof(m_alSockets));
Save();
}
@@ -1992,8 +1992,8 @@ void CItem::CopyToRawData (TPlayerItem* new_item)
new_item->count = m_dwCount;
new_item->vnum = GetVnum();
- thecore_memcpy (new_item->alSockets, m_alSockets, sizeof (m_alSockets));
- thecore_memcpy (new_item->aAttr, m_aAttr, sizeof (m_aAttr));
+ memcpy (new_item->alSockets, m_alSockets, sizeof (m_alSockets));
+ memcpy (new_item->aAttr, m_aAttr, sizeof (m_aAttr));
new_item->owner = m_pOwner->GetPlayerID();
}
diff --git a/game/src/item_attribute.cpp b/game/src/item_attribute.cpp
index 56b16a0..9864166 100644
--- a/game/src/item_attribute.cpp
+++ b/game/src/item_attribute.cpp
@@ -285,7 +285,7 @@ bool CItem::RemoveAttributeType(BYTE bType)
void CItem::SetAttributes(const TPlayerItemAttribute* c_pAttribute)
{
- thecore_memcpy(m_aAttr, c_pAttribute, sizeof(m_aAttr));
+ memcpy(m_aAttr, c_pAttribute, sizeof(m_aAttr));
Save();
}
diff --git a/game/src/item_manager.cpp b/game/src/item_manager.cpp
index 42c12f9..23fa79b 100644
--- a/game/src/item_manager.cpp
+++ b/game/src/item_manager.cpp
@@ -65,7 +65,7 @@ bool ITEM_MANAGER::Initialize(TItemTable * table, int size)
int i;
m_vec_prototype.resize(size);
- thecore_memcpy(&m_vec_prototype[0], table, sizeof(TItemTable) * size);
+ memcpy(&m_vec_prototype[0], table, sizeof(TItemTable) * size);
for (int i = 0; i < size; i++)
{
if (0 != m_vec_prototype[i].dwVnumRange)
@@ -460,8 +460,8 @@ void ITEM_MANAGER::SaveSingleItem(LPITEM item)
t.count = item->GetCount();
t.vnum = item->GetOriginalVnum();
t.owner = (t.window == SAFEBOX || t.window == MALL) ? item->GetOwner()->GetDesc()->GetAccountTable().id : item->GetOwner()->GetPlayerID();
- thecore_memcpy(t.alSockets, item->GetSockets(), sizeof(t.alSockets));
- thecore_memcpy(t.aAttr, item->GetAttributes(), sizeof(t.aAttr));
+ memcpy(t.alSockets, item->GetSockets(), sizeof(t.alSockets));
+ memcpy(t.aAttr, item->GetAttributes(), sizeof(t.aAttr));
db_clientdesc->DBPacketHeader(HEADER_GD_ITEM_SAVE, 0, sizeof(TPlayerItem));
db_clientdesc->Packet(&t, sizeof(TPlayerItem));
@@ -1257,7 +1257,7 @@ bool DropEvent_CharStone_SetValue(const std::string& name, int value)
// fixme
// Ͱ Բ quest .
// ̰ ʹ ݾ...
-// .. ϵڵ ȴ ̤
+// ??.. ϵڵ ȴ ̤
// 跮 .
// by rtsummit ġ ¥
static struct DropEvent_RefineBox
diff --git a/game/src/locale_service.cpp b/game/src/locale_service.cpp
index 54da15b..1682465 100644
--- a/game/src/locale_service.cpp
+++ b/game/src/locale_service.cpp
@@ -29,11 +29,6 @@ int (*check_name) (const char * str) = NULL;
int (*is_twobyte) (const char * str) = NULL;
bool LC_InitLocalization( const std::string& szLocal );
-int is_twobyte_euckr(const char * str)
-{
- return ishan(*str);
-}
-
int is_twobyte_gb2312(const char * str)
{
if (!str || !*str)
@@ -227,46 +222,6 @@ int check_name_big5(const char * str )
return check_name_independent(str);
}
-int check_name_euckr(const char * str)
-{
- int code;
- const char* tmp;
-
- if (!str || !*str)
- return 0;
-
- if ( strlen(str) < 2 || strlen(str) > 12 )
- return 0;
-
- for (tmp = str; *tmp; ++tmp)
- {
- // ѱ ƴϰ ĭ̸ ߸
- if (isnhspace(*tmp))
- return 0;
-
- // ѱ ƴϰ ڶ ϴ.
- if (isnhdigit(*tmp))
- continue;
-
- // ѱ ƴϰ ̶ ϴ.
- if (!ishan(*tmp) && isalpha(*tmp))
- continue;
-
- code = *tmp;
- code += 256;
-
- if (code < 176 || code > 200)
- return 0;
-
- ++tmp;
-
- if (!*tmp)
- break;
- }
-
- return check_name_independent(str);
-}
-
int check_name_latin1(const char * str)
{
int code;
@@ -281,15 +236,15 @@ int check_name_latin1(const char * str)
for (tmp = str; *tmp; ++tmp)
{
// ѱ ƴϰ ĭ̸ ߸
- if (isnhspace(*tmp))
+ if (isspace(*tmp))
return 0;
// ѱ ƴϰ ڶ ϴ.
- if (isnhdigit(*tmp))
+ if (isdigit(*tmp))
continue;
// ѱ ƴϰ ̶ ϴ.
- if (!ishan(*tmp) && isalpha(*tmp))
+ if (isalpha(*tmp))
continue;
unsigned char uc_tmp = *tmp;
@@ -1197,10 +1152,10 @@ bool LocaleService_Init(const std::string& c_rstServiceName)
void LocaleService_TransferDefaultSetting()
{
if (!check_name)
- check_name = check_name_euckr;
+ check_name = check_name_independent;
if (!is_twobyte)
- is_twobyte = is_twobyte_euckr;
+ is_twobyte = is_twobyte_gb2312;
if (!exp_table)
exp_table = exp_table_common;
diff --git a/game/src/login_data.cpp b/game/src/login_data.cpp
index 56d4286..52237d5 100644
--- a/game/src/login_data.cpp
+++ b/game/src/login_data.cpp
@@ -21,7 +21,7 @@ CLoginData::CLoginData()
void CLoginData::SetClientKey(const DWORD * c_pdwClientKey)
{
- thecore_memcpy(&m_adwClientKey, c_pdwClientKey, sizeof(DWORD) * 4);
+ memcpy(&m_adwClientKey, c_pdwClientKey, sizeof(DWORD) * 4);
}
const DWORD * CLoginData::GetClientKey()
@@ -140,7 +140,7 @@ const char * CLoginData::GetLogin()
void CLoginData::SetPremium(int * paiPremiumTimes)
{
- thecore_memcpy(m_aiPremiumTimes, paiPremiumTimes, sizeof(m_aiPremiumTimes));
+ memcpy(m_aiPremiumTimes, paiPremiumTimes, sizeof(m_aiPremiumTimes));
}
int CLoginData::GetPremium(BYTE type)
diff --git a/game/src/main.cpp b/game/src/main.cpp
index 2f7ef92..259d56c 100644
--- a/game/src/main.cpp
+++ b/game/src/main.cpp
@@ -55,7 +55,6 @@
#include "spam.h"
#include "panama.h"
#include "threeway_war.h"
-#include "auth_brazil.h"
#include "DragonLair.h"
#include "skill_power.h"
#include "SpeedServer.h"
@@ -66,10 +65,6 @@
#include "auction_manager.h"
#endif
-#ifndef __WIN32__
-#include
-#endif
-
#ifdef USE_STACKTRACE
#include
#endif
@@ -112,8 +107,6 @@ int start(int argc, char **argv);
int idle();
void destroy();
-void test();
-
enum EProfile
{
PROF_EVENT,
@@ -232,9 +225,6 @@ void heartbeat(LPHEART ht, int pulse)
// 1ʸ
if (!(pulse % ht->passes_per_sec))
{
- if (g_bAuthServer && LC_IsBrazil() && !test_server)
- auth_brazil_log();
-
if (!g_bAuthServer)
{
TPlayerCountPacket pack;
@@ -334,18 +324,6 @@ int main(int argc, char **argv)
DebugAllocator::StaticSetUp();
#endif
-#ifndef __WIN32__
- // start unit tests if option is set
- if ( argc > 1 )
- {
- if ( strcmp( argv[1], "unittest" ) == 0 )
- {
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
- }
- }
-#endif
-
ilInit(); // DevIL Initialize
WriteVersion();
diff --git a/game/src/mob_manager.cpp b/game/src/mob_manager.cpp
index 3c44d7f..b8b157b 100644
--- a/game/src/mob_manager.cpp
+++ b/game/src/mob_manager.cpp
@@ -65,7 +65,7 @@ bool CMobManager::Initialize(TMobTable * pTable, int iSize)
{
CMob * pkMob = M2_NEW CMob;
- thecore_memcpy(&pkMob->m_table, t, sizeof(TMobTable));
+ memcpy(&pkMob->m_table, t, sizeof(TMobTable));
m_map_pkMobByVnum.insert(std::map::value_type(t->dwVnum, pkMob));
m_map_pkMobByName.insert(std::map::value_type(t->szLocaleName, pkMob));
diff --git a/game/src/packet.h b/game/src/packet.h
index a880c53..5704219 100644
--- a/game/src/packet.h
+++ b/game/src/packet.h
@@ -52,7 +52,7 @@ enum
HEADER_CG_MESSENGER = 67,
HEADER_CG_MALL_CHECKOUT = 69,
- HEADER_CG_SAFEBOX_CHECKIN = 70, // â ֆ´.
+ HEADER_CG_SAFEBOX_CHECKIN = 70, // â ??´.
HEADER_CG_SAFEBOX_CHECKOUT = 71, // â ´.
HEADER_CG_PARTY_INVITE = 72,
@@ -91,8 +91,6 @@ enum
HEADER_CG_SCRIPT_SELECT_ITEM = 114,
// END_OF_SCRIPT_SELECT_ITEM
- HEADER_CG_LOGIN5_OPENID = 116, //OpenID : Ŭ̾Ʈκ OpenID Ű ´.
-
// HEADER_CG_ROULETTE = 200,
// HEADER_CG_RUNUP_MATRIX_ANSWER = 201,
@@ -276,8 +274,6 @@ enum
HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks
//HYBRID CRYPT
- HEADER_GC_AUTH_SUCCESS_OPENID = 154,
-
// ROULETTE
HEADER_GC_ROULETTE = 200,
// END_ROULETTE
@@ -548,13 +544,6 @@ typedef struct command_login3
DWORD adwClientKey[4];
} TPacketCGLogin3;
-typedef struct command_login5
-{
- BYTE header;
- char authKey[OPENID_AUTHKEY_LEN + 1];
- DWORD adwClientKey[4];
-} TPacketCGLogin5;
-
typedef struct command_matrix_card
{
BYTE bHeader;
@@ -901,14 +890,6 @@ typedef struct packet_auth_success
BYTE bResult;
} TPacketGCAuthSuccess;
-typedef struct packet_auth_success_openid
-{
- BYTE bHeader;
- DWORD dwLoginKey;
- BYTE bResult;
- char login[LOGIN_MAX_LEN + 1];
-} TPacketGCAuthSuccessOpenID;
-
typedef struct packet_login_failure
{
BYTE header;
diff --git a/game/src/packet_info.cpp b/game/src/packet_info.cpp
index a3bf012..c65b52a 100644
--- a/game/src/packet_info.cpp
+++ b/game/src/packet_info.cpp
@@ -146,7 +146,6 @@ CPacketInfoCG::CPacketInfoCG()
Set(HEADER_CG_LOGIN, sizeof(TPacketCGLogin), "Login", true);
Set(HEADER_CG_LOGIN2, sizeof(TPacketCGLogin2), "Login2", true);
Set(HEADER_CG_LOGIN3, sizeof(TPacketCGLogin3), "Login3", true);
- Set(HEADER_CG_LOGIN5_OPENID, sizeof(TPacketCGLogin5), "Login5", true); //OpenID
Set(HEADER_CG_ATTACK, sizeof(TPacketCGAttack), "Attack", true);
Set(HEADER_CG_CHAT, sizeof(TPacketCGChat), "Chat", true);
Set(HEADER_CG_WHISPER, sizeof(TPacketCGWhisper), "Whisper", true);
diff --git a/game/src/questlua_global.cpp b/game/src/questlua_global.cpp
index b8b5a69..082ccfb 100644
--- a/game/src/questlua_global.cpp
+++ b/game/src/questlua_global.cpp
@@ -869,15 +869,6 @@ namespace quest
return 1;
}
- int _under_han(lua_State* L)
- {
- if (!lua_isstring(L, 1))
- lua_pushboolean(L, 0);
- else
- lua_pushboolean(L, under_han(lua_tostring(L, 1)));
- return 1;
- }
-
int _notice_all( lua_State* L )
{
ostringstream s;
@@ -1395,7 +1386,6 @@ namespace quest
{ "find_npc_by_vnum", _find_npc_by_vnum },
{ "set_quest_state", _set_quest_state },
{ "get_quest_state", _get_quest_state },
- { "under_han", _under_han },
{ "notice", _notice },
{ "notice_all", _notice_all },
{ "notice_in_map", _notice_in_map },
diff --git a/game/src/safebox.cpp b/game/src/safebox.cpp
index 313b8d4..75b3981 100644
--- a/game/src/safebox.cpp
+++ b/game/src/safebox.cpp
@@ -76,8 +76,8 @@ bool CSafebox::Add(DWORD dwPos, LPITEM pkItem)
pack.count = pkItem->GetCount();
pack.flags = pkItem->GetFlag();
pack.anti_flags = pkItem->GetAntiFlag();
- thecore_memcpy(pack.alSockets, pkItem->GetSockets(), sizeof(pack.alSockets));
- thecore_memcpy(pack.aAttr, pkItem->GetAttributes(), sizeof(pack.aAttr));
+ memcpy(pack.alSockets, pkItem->GetSockets(), sizeof(pack.alSockets));
+ memcpy(pack.aAttr, pkItem->GetAttributes(), sizeof(pack.aAttr));
m_pkChrOwner->GetDesc()->Packet(&pack, sizeof(pack));
sys_log(1, "SAFEBOX: ADD %s %s count %d", m_pkChrOwner->GetName(), pkItem->GetName(), pkItem->GetCount());
diff --git a/game/src/shop.cpp b/game/src/shop.cpp
index 0b32daa..cb01c02 100644
--- a/game/src/shop.cpp
+++ b/game/src/shop.cpp
@@ -333,7 +333,7 @@ int CShop::Buy(LPCHARACTER ch, BYTE pos)
}
}
- // 싚 5%
+ // ?? 5%
if (!m_pkPC)
{
CMonarch::instance().SendtoDBAddMoney(dwTax, ch->GetEmpire(), ch);
@@ -463,8 +463,8 @@ bool CShop::AddGuest(LPCHARACTER ch, DWORD owner_vid, bool bOtherEmpire)
if (item.pkItem)
{
- thecore_memcpy(pack2.items[i].alSockets, item.pkItem->GetSockets(), sizeof(pack2.items[i].alSockets));
- thecore_memcpy(pack2.items[i].aAttr, item.pkItem->GetAttributes(), sizeof(pack2.items[i].aAttr));
+ memcpy(pack2.items[i].alSockets, item.pkItem->GetSockets(), sizeof(pack2.items[i].alSockets));
+ memcpy(pack2.items[i].aAttr, item.pkItem->GetAttributes(), sizeof(pack2.items[i].aAttr));
}
}
@@ -531,8 +531,8 @@ void CShop::BroadcastUpdateItem(BYTE pos)
pack2.item.vnum = m_itemVector[pos].vnum;
if (m_itemVector[pos].pkItem)
{
- thecore_memcpy(pack2.item.alSockets, m_itemVector[pos].pkItem->GetSockets(), sizeof(pack2.item.alSockets));
- thecore_memcpy(pack2.item.aAttr, m_itemVector[pos].pkItem->GetAttributes(), sizeof(pack2.item.aAttr));
+ memcpy(pack2.item.alSockets, m_itemVector[pos].pkItem->GetSockets(), sizeof(pack2.item.alSockets));
+ memcpy(pack2.item.aAttr, m_itemVector[pos].pkItem->GetAttributes(), sizeof(pack2.item.aAttr));
}
else
{
diff --git a/game/src/utils.cpp b/game/src/utils.cpp
index c42d769..14adf0e 100644
--- a/game/src/utils.cpp
+++ b/game/src/utils.cpp
@@ -65,7 +65,7 @@ size_t str_lower(const char * src, char * dest, size_t dest_size)
void skip_spaces(const char **string)
{
- for (; **string != '\0' && isnhspace(**string); ++(*string));
+ for (; **string != '\0' && isspace(**string); ++(*string));
}
const char *one_argument(const char *argument, char *first_arg, size_t first_size)
@@ -94,7 +94,7 @@ const char *one_argument(const char *argument, char *first_arg, size_t first_siz
continue;
}
- if (!mark && isnhspace(*argument))
+ if (!mark && isspace(*argument))
break;
*(first_arg++) = *argument;
@@ -121,7 +121,7 @@ const char *first_cmd(const char *argument, char *first_arg, size_t first_arg_si
// \0 ڸ Ȯ
first_arg_size -= 1;
- while (*argument && !isnhspace(*argument) && cur_len < first_arg_size)
+ while (*argument && !isspace(*argument) && cur_len < first_arg_size)
{
*(first_arg++) = LOWER(*argument);
++argument;
diff --git a/libgame/src/attribute.cc b/libgame/src/attribute.cc
index c57a954..5d08308 100644
--- a/libgame/src/attribute.cc
+++ b/libgame/src/attribute.cc
@@ -124,7 +124,7 @@ CAttribute::CAttribute(DWORD * attr, DWORD width, DWORD height) // attr
Alloc();
if (dataType == D_DWORD) // D_DWORD Ӽ Ƿ .
- thecore_memcpy(data, attr, sizeof(DWORD) * width * height);
+ memcpy(data, attr, sizeof(DWORD) * width * height);
else
{
// ƴϸ Ʈ ؾ Ѵ.
@@ -245,7 +245,7 @@ void CAttribute::CopyRow(DWORD y, DWORD * row)
}
if (dwordPtr)
- thecore_memcpy(row, dwordPtr[y], sizeof(DWORD) * width);
+ memcpy(row, dwordPtr[y], sizeof(DWORD) * width);
else
{
if (bytePtr)
diff --git a/libgame/src/grid.cc b/libgame/src/grid.cc
index 82645ec..1aacccf 100644
--- a/libgame/src/grid.cc
+++ b/libgame/src/grid.cc
@@ -1,6 +1,5 @@
#include
#include
-#include "../../libthecore/include/memcpy.h"
#include
#include "grid.h"
@@ -14,7 +13,7 @@ CGrid::CGrid(CGrid * pkGrid, int w, int h) : m_iWidth(w), m_iHeight(h)
{
m_pGrid = new char[m_iWidth * m_iHeight];
int iSize = std::MIN(w * h, pkGrid->m_iWidth * pkGrid->m_iHeight);
- thecore_memcpy(m_pGrid, pkGrid->m_pGrid, sizeof(char) * iSize);
+ memcpy(m_pGrid, pkGrid->m_pGrid, sizeof(char) * iSize);
}
CGrid::~CGrid()
diff --git a/libthecore/include/crypt.h b/libthecore/include/crypt.h
deleted file mode 100644
index e9df66b..0000000
--- a/libthecore/include/crypt.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /* TEA is a 64-bit symmetric block cipher with a 128-bit key, developed
- by David J. Wheeler and Roger M. Needham, and described in their
- paper at .
-
- This implementation is based on their code in
- */
-
- extern int TEA_Encrypt(DWORD *dest, const DWORD *src, const DWORD *key, int size);
- extern int TEA_Decrypt(DWORD *dest, const DWORD *src, const DWORD *key, int size);
-
- extern int GOST_Encrypt(DWORD * DstBuffer, const DWORD * SrcBuffer, const DWORD * KeyAddress, DWORD Length, DWORD *IVector);
- extern int GOST_Decrypt(DWORD * DstBuffer, const DWORD * SrcBuffer, const DWORD * KeyAddress, DWORD Length, DWORD *IVector);
-
- extern int DES_Encrypt(DWORD *DstBuffer, const DWORD * SrcBuffer, const DWORD *KeyAddress, DWORD Length, DWORD *IVector);
- extern int DES_Decrypt(DWORD *DstBuffer, const DWORD * SrcBuffer, const DWORD *KeyAddress, DWORD Length, DWORD *IVector);
-
-#ifdef __cplusplus
-};
-#endif
diff --git a/libthecore/include/hangul.h b/libthecore/include/hangul.h
deleted file mode 100644
index 4800eb7..0000000
--- a/libthecore/include/hangul.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef __INC_LIBTHECORE_HANGUL_H__
-#define __INC_LIBTHECORE_HANGUL_H__
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-#ifdef __WIN32__
-#define isdigit iswdigit
-#define isspace iswspace
-#endif
-
-#define ishan(ch) (((ch) & 0xE0) > 0x90)
-#define ishanasc(ch) (isascii(ch) || ishan(ch))
-#define ishanalp(ch) (isalpha(ch) || ishan(ch))
-#define isnhdigit(ch) (!ishan(ch) && isdigit(ch))
-#define isnhspace(ch) (!ishan(ch) && isspace(ch))
-
- extern const char * first_han(const BYTE * str); // ù° () ̾ ///.. Ѵ.
- extern int check_han(const char * str); // ѱ̸ true Ʈ üũ
- extern int is_hangul(const BYTE * str); // ѱ̸ true (2Ʈ üũ)
- extern int under_han(const void * orig); // ħ true
-
-#define UNDER(str) under_han(str)
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
diff --git a/libthecore/include/kstbl.h b/libthecore/include/kstbl.h
deleted file mode 100644
index 6cf4dbd..0000000
--- a/libthecore/include/kstbl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Filename: kstbl.h
- * Description: KS ϼ 2350 ڵ
- *
- * Author: (server), myevan (Client)
- */
-#ifndef __KSTBL_H__
-#define __KSTBL_H__
-extern unsigned KStbl[2350];
-#endif
diff --git a/libthecore/include/memcpy.h b/libthecore/include/memcpy.h
deleted file mode 100644
index efbf16a..0000000
--- a/libthecore/include/memcpy.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __INC_LIBTHECORE_MEMCPY_H__
-#define __INC_LIBTHECORE_MEMCPY_H__
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-#ifdef __LIBTHECORE__
- void thecore_find_best_memcpy();
-#endif
-
-#ifndef __WIN32__
- extern void *(*thecore_memcpy) (void * to, const void * from, size_t len);
-#else
-#include
-#define thecore_memcpy memcpy
-#endif
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
diff --git a/libthecore/include/stdafx.h b/libthecore/include/stdafx.h
index 21b4a8b..8485c67 100644
--- a/libthecore/include/stdafx.h
+++ b/libthecore/include/stdafx.h
@@ -132,14 +132,10 @@ inline double rint(double x)
#include "heart.h"
#include "fdwatch.h"
#include "socket.h"
-#include "kstbl.h"
-#include "hangul.h"
#include "buffer.h"
#include "signal.h"
#include "log.h"
#include "main.h"
#include "utils.h"
-#include "crypt.h"
-#include "memcpy.h"
#endif // __INC_LIBTHECORE_STDAFX_H__
diff --git a/libthecore/include/xmd5.h b/libthecore/include/xmd5.h
deleted file mode 100644
index ac7a63a..0000000
--- a/libthecore/include/xmd5.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __FreeBSD__
-
-/*
- * luau (Lib Update/Auto-Update): Simple Update Library
- * Copyright (C) 2003 David Eklund
- *
- * - This library is free software; you can redistribute it and/or -
- * - modify it under the terms of the GNU Lesser General Public -
- * - License as published by the Free Software Foundation; either -
- * - version 2.1 of the License, or (at your option) any later version. -
- * - -
- * - This library is distributed in the hope that it will be useful, -
- * - but WITHOUT ANY WARRANTY; without even the implied warranty of -
- * - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -
- * - Lesser General Public License for more details. -
- * - -
- * - You should have received a copy of the GNU Lesser General Public -
- * - License along with this library; if not, write to the Free Software -
- * - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -
- */
-
-/*
- * md5.h and md5.c are based off of md5hl.c, md5c.c, and md5.h from libmd, which in turn are
- * based off the FreeBSD libmd library. Their respective copyright notices follow:
- */
-
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- */
-
-/* ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $Id: md5.h,v 1.1.1.1 2004/04/02 05:11:38 deklund2 Exp $
- *
- */
-
-#ifndef MD5_H
-#define MD5_H
-
-#include
-
-#define MD5_HASHBYTES 16
-
-typedef struct MD5Context {
- uint32_t buf[4];
- uint32_t bits[2];
- unsigned char in[64];
-} MD5_CTX;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void MD5Init(MD5_CTX *context);
-void MD5Update(MD5_CTX *context, unsigned char const *buf, unsigned len);
-void MD5Final(unsigned char digest[MD5_HASHBYTES], MD5_CTX *context);
-void MD5Transform(uint32_t buf[4], uint32_t const in[16]);
-char* MD5End(MD5_CTX *, char *);
-
-char* lutil_md5_file(const char *filename, char *buf);
-char* lutil_md5_data(const unsigned char *data, unsigned int len, char *buf);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MD5_H */
-
-#endif // #ifndef __FreeBSD__
diff --git a/libthecore/src/DES_table.h b/libthecore/src/DES_table.h
deleted file mode 100644
index 7165143..0000000
--- a/libthecore/src/DES_table.h
+++ /dev/null
@@ -1,326 +0,0 @@
-static DWORD SP_boxes[8][64]=
-{
- /* 0 */
- {
- 0x00820200, 0x00020000, 0x80800000, 0x80820200,
- 0x00800000, 0x80020200, 0x80020000, 0x80800000,
- 0x80020200, 0x00820200, 0x00820000, 0x80000200,
- 0x80800200, 0x00800000, 0x00000000, 0x80020000,
- 0x00020000, 0x80000000, 0x00800200, 0x00020200,
- 0x80820200, 0x00820000, 0x80000200, 0x00800200,
- 0x80000000, 0x00000200, 0x00020200, 0x80820000,
- 0x00000200, 0x80800200, 0x80820000, 0x00000000,
- 0x00000000, 0x80820200, 0x00800200, 0x80020000,
- 0x00820200, 0x00020000, 0x80000200, 0x00800200,
- 0x80820000, 0x00000200, 0x00020200, 0x80800000,
- 0x80020200, 0x80000000, 0x80800000, 0x00820000,
- 0x80820200, 0x00020200, 0x00820000, 0x80800200,
- 0x00800000, 0x80000200, 0x80020000, 0x00000000,
- 0x00020000, 0x00800000, 0x80800200, 0x00820200,
- 0x80000000, 0x80820000, 0x00000200, 0x80020200
- },
-
- /* 1 */
- {
- 0x10042004, 0x00000000, 0x00042000, 0x10040000,
- 0x10000004, 0x00002004, 0x10002000, 0x00042000,
- 0x00002000, 0x10040004, 0x00000004, 0x10002000,
- 0x00040004, 0x10042000, 0x10040000, 0x00000004,
- 0x00040000, 0x10002004, 0x10040004, 0x00002000,
- 0x00042004, 0x10000000, 0x00000000, 0x00040004,
- 0x10002004, 0x00042004, 0x10042000, 0x10000004,
- 0x10000000, 0x00040000, 0x00002004, 0x10042004,
- 0x00040004, 0x10042000, 0x10002000, 0x00042004,
- 0x10042004, 0x00040004, 0x10000004, 0x00000000,
- 0x10000000, 0x00002004, 0x00040000, 0x10040004,
- 0x00002000, 0x10000000, 0x00042004, 0x10002004,
- 0x10042000, 0x00002000, 0x00000000, 0x10000004,
- 0x00000004, 0x10042004, 0x00042000, 0x10040000,
- 0x10040004, 0x00040000, 0x00002004, 0x10002000,
- 0x10002004, 0x00000004, 0x10040000, 0x00042000
- },
-
- /* 2 */
- {
- 0x41000000, 0x01010040, 0x00000040, 0x41000040,
- 0x40010000, 0x01000000, 0x41000040, 0x00010040,
- 0x01000040, 0x00010000, 0x01010000, 0x40000000,
- 0x41010040, 0x40000040, 0x40000000, 0x41010000,
- 0x00000000, 0x40010000, 0x01010040, 0x00000040,
- 0x40000040, 0x41010040, 0x00010000, 0x41000000,
- 0x41010000, 0x01000040, 0x40010040, 0x01010000,
- 0x00010040, 0x00000000, 0x01000000, 0x40010040,
- 0x01010040, 0x00000040, 0x40000000, 0x00010000,
- 0x40000040, 0x40010000, 0x01010000, 0x41000040,
- 0x00000000, 0x01010040, 0x00010040, 0x41010000,
- 0x40010000, 0x01000000, 0x41010040, 0x40000000,
- 0x40010040, 0x41000000, 0x01000000, 0x41010040,
- 0x00010000, 0x01000040, 0x41000040, 0x00010040,
- 0x01000040, 0x00000000, 0x41010000, 0x40000040,
- 0x41000000, 0x40010040, 0x00000040, 0x01010000
- },
-
- /* 3 */
- {
- 0x00100402, 0x04000400, 0x00000002, 0x04100402,
- 0x00000000, 0x04100000, 0x04000402, 0x00100002,
- 0x04100400, 0x04000002, 0x04000000, 0x00000402,
- 0x04000002, 0x00100402, 0x00100000, 0x04000000,
- 0x04100002, 0x00100400, 0x00000400, 0x00000002,
- 0x00100400, 0x04000402, 0x04100000, 0x00000400,
- 0x00000402, 0x00000000, 0x00100002, 0x04100400,
- 0x04000400, 0x04100002, 0x04100402, 0x00100000,
- 0x04100002, 0x00000402, 0x00100000, 0x04000002,
- 0x00100400, 0x04000400, 0x00000002, 0x04100000,
- 0x04000402, 0x00000000, 0x00000400, 0x00100002,
- 0x00000000, 0x04100002, 0x04100400, 0x00000400,
- 0x04000000, 0x04100402, 0x00100402, 0x00100000,
- 0x04100402, 0x00000002, 0x04000400, 0x00100402,
- 0x00100002, 0x00100400, 0x04100000, 0x04000402,
- 0x00000402, 0x04000000, 0x04000002, 0x04100400
- },
-
- /* 4 */
- {
- 0x02000000, 0x00004000, 0x00000100, 0x02004108,
- 0x02004008, 0x02000100, 0x00004108, 0x02004000,
- 0x00004000, 0x00000008, 0x02000008, 0x00004100,
- 0x02000108, 0x02004008, 0x02004100, 0x00000000,
- 0x00004100, 0x02000000, 0x00004008, 0x00000108,
- 0x02000100, 0x00004108, 0x00000000, 0x02000008,
- 0x00000008, 0x02000108, 0x02004108, 0x00004008,
- 0x02004000, 0x00000100, 0x00000108, 0x02004100,
- 0x02004100, 0x02000108, 0x00004008, 0x02004000,
- 0x00004000, 0x00000008, 0x02000008, 0x02000100,
- 0x02000000, 0x00004100, 0x02004108, 0x00000000,
- 0x00004108, 0x02000000, 0x00000100, 0x00004008,
- 0x02000108, 0x00000100, 0x00000000, 0x02004108,
- 0x02004008, 0x02004100, 0x00000108, 0x00004000,
- 0x00004100, 0x02004008, 0x02000100, 0x00000108,
- 0x00000008, 0x00004108, 0x02004000, 0x02000008
- },
-
- /* 5 */
- {
- 0x20000010, 0x00080010, 0x00000000, 0x20080800,
- 0x00080010, 0x00000800, 0x20000810, 0x00080000,
- 0x00000810, 0x20080810, 0x00080800, 0x20000000,
- 0x20000800, 0x20000010, 0x20080000, 0x00080810,
- 0x00080000, 0x20000810, 0x20080010, 0x00000000,
- 0x00000800, 0x00000010, 0x20080800, 0x20080010,
- 0x20080810, 0x20080000, 0x20000000, 0x00000810,
- 0x00000010, 0x00080800, 0x00080810, 0x20000800,
- 0x00000810, 0x20000000, 0x20000800, 0x00080810,
- 0x20080800, 0x00080010, 0x00000000, 0x20000800,
- 0x20000000, 0x00000800, 0x20080010, 0x00080000,
- 0x00080010, 0x20080810, 0x00080800, 0x00000010,
- 0x20080810, 0x00080800, 0x00080000, 0x20000810,
- 0x20000010, 0x20080000, 0x00080810, 0x00000000,
- 0x00000800, 0x20000010, 0x20000810, 0x20080800,
- 0x20080000, 0x00000810, 0x00000010, 0x20080010
- },
-
- /* 6 */
- {
- 0x00001000, 0x00000080, 0x00400080, 0x00400001,
- 0x00401081, 0x00001001, 0x00001080, 0x00000000,
- 0x00400000, 0x00400081, 0x00000081, 0x00401000,
- 0x00000001, 0x00401080, 0x00401000, 0x00000081,
- 0x00400081, 0x00001000, 0x00001001, 0x00401081,
- 0x00000000, 0x00400080, 0x00400001, 0x00001080,
- 0x00401001, 0x00001081, 0x00401080, 0x00000001,
- 0x00001081, 0x00401001, 0x00000080, 0x00400000,
- 0x00001081, 0x00401000, 0x00401001, 0x00000081,
- 0x00001000, 0x00000080, 0x00400000, 0x00401001,
- 0x00400081, 0x00001081, 0x00001080, 0x00000000,
- 0x00000080, 0x00400001, 0x00000001, 0x00400080,
- 0x00000000, 0x00400081, 0x00400080, 0x00001080,
- 0x00000081, 0x00001000, 0x00401081, 0x00400000,
- 0x00401080, 0x00000001, 0x00001001, 0x00401081,
- 0x00400001, 0x00401080, 0x00401000, 0x00001001
- },
-
- /* 7 */
- {
- 0x08200020, 0x08208000, 0x00008020, 0x00000000,
- 0x08008000, 0x00200020, 0x08200000, 0x08208020,
- 0x00000020, 0x08000000, 0x00208000, 0x00008020,
- 0x00208020, 0x08008020, 0x08000020, 0x08200000,
- 0x00008000, 0x00208020, 0x00200020, 0x08008000,
- 0x08208020, 0x08000020, 0x00000000, 0x00208000,
- 0x08000000, 0x00200000, 0x08008020, 0x08200020,
- 0x00200000, 0x00008000, 0x08208000, 0x00000020,
- 0x00200000, 0x00008000, 0x08000020, 0x08208020,
- 0x00008020, 0x08000000, 0x00000000, 0x00208000,
- 0x08200020, 0x08008020, 0x08008000, 0x00200020,
- 0x08208000, 0x00000020, 0x00200020, 0x08008000,
- 0x08208020, 0x00200000, 0x08200000, 0x08000020,
- 0x00208000, 0x00008020, 0x08008020, 0x08200000,
- 0x00000020, 0x08208000, 0x00208020, 0x00000000,
- 0x08000000, 0x08200020, 0x00008000, 0x00208020
- }
-};
-
-static DWORD KeyPerm[8][64] =
-{
- /* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */
- {
- 0x00000000,0x00000010,0x20000000,0x20000010,
- 0x00010000,0x00010010,0x20010000,0x20010010,
- 0x00000800,0x00000810,0x20000800,0x20000810,
- 0x00010800,0x00010810,0x20010800,0x20010810,
- 0x00000020,0x00000030,0x20000020,0x20000030,
- 0x00010020,0x00010030,0x20010020,0x20010030,
- 0x00000820,0x00000830,0x20000820,0x20000830,
- 0x00010820,0x00010830,0x20010820,0x20010830,
- 0x00080000,0x00080010,0x20080000,0x20080010,
- 0x00090000,0x00090010,0x20090000,0x20090010,
- 0x00080800,0x00080810,0x20080800,0x20080810,
- 0x00090800,0x00090810,0x20090800,0x20090810,
- 0x00080020,0x00080030,0x20080020,0x20080030,
- 0x00090020,0x00090030,0x20090020,0x20090030,
- 0x00080820,0x00080830,0x20080820,0x20080830,
- 0x00090820,0x00090830,0x20090820,0x20090830
- },
-
- /* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */
- {
- 0x00000000,0x02000000,0x00002000,0x02002000,
- 0x00200000,0x02200000,0x00202000,0x02202000,
- 0x00000004,0x02000004,0x00002004,0x02002004,
- 0x00200004,0x02200004,0x00202004,0x02202004,
- 0x00000400,0x02000400,0x00002400,0x02002400,
- 0x00200400,0x02200400,0x00202400,0x02202400,
- 0x00000404,0x02000404,0x00002404,0x02002404,
- 0x00200404,0x02200404,0x00202404,0x02202404,
- 0x10000000,0x12000000,0x10002000,0x12002000,
- 0x10200000,0x12200000,0x10202000,0x12202000,
- 0x10000004,0x12000004,0x10002004,0x12002004,
- 0x10200004,0x12200004,0x10202004,0x12202004,
- 0x10000400,0x12000400,0x10002400,0x12002400,
- 0x10200400,0x12200400,0x10202400,0x12202400,
- 0x10000404,0x12000404,0x10002404,0x12002404,
- 0x10200404,0x12200404,0x10202404,0x12202404
- },
-
- /* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */
- {
- 0x00000000,0x00000001,0x00040000,0x00040001,
- 0x01000000,0x01000001,0x01040000,0x01040001,
- 0x00000002,0x00000003,0x00040002,0x00040003,
- 0x01000002,0x01000003,0x01040002,0x01040003,
- 0x00000200,0x00000201,0x00040200,0x00040201,
- 0x01000200,0x01000201,0x01040200,0x01040201,
- 0x00000202,0x00000203,0x00040202,0x00040203,
- 0x01000202,0x01000203,0x01040202,0x01040203,
- 0x08000000,0x08000001,0x08040000,0x08040001,
- 0x09000000,0x09000001,0x09040000,0x09040001,
- 0x08000002,0x08000003,0x08040002,0x08040003,
- 0x09000002,0x09000003,0x09040002,0x09040003,
- 0x08000200,0x08000201,0x08040200,0x08040201,
- 0x09000200,0x09000201,0x09040200,0x09040201,
- 0x08000202,0x08000203,0x08040202,0x08040203,
- 0x09000202,0x09000203,0x09040202,0x09040203
- },
-
- /* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */
- {
- 0x00000000,0x00100000,0x00000100,0x00100100,
- 0x00000008,0x00100008,0x00000108,0x00100108,
- 0x00001000,0x00101000,0x00001100,0x00101100,
- 0x00001008,0x00101008,0x00001108,0x00101108,
- 0x04000000,0x04100000,0x04000100,0x04100100,
- 0x04000008,0x04100008,0x04000108,0x04100108,
- 0x04001000,0x04101000,0x04001100,0x04101100,
- 0x04001008,0x04101008,0x04001108,0x04101108,
- 0x00020000,0x00120000,0x00020100,0x00120100,
- 0x00020008,0x00120008,0x00020108,0x00120108,
- 0x00021000,0x00121000,0x00021100,0x00121100,
- 0x00021008,0x00121008,0x00021108,0x00121108,
- 0x04020000,0x04120000,0x04020100,0x04120100,
- 0x04020008,0x04120008,0x04020108,0x04120108,
- 0x04021000,0x04121000,0x04021100,0x04121100,
- 0x04021008,0x04121008,0x04021108,0x04121108
- },
-
- /* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */
- {
- 0x00000000,0x10000000,0x00010000,0x10010000,
- 0x00000004,0x10000004,0x00010004,0x10010004,
- 0x20000000,0x30000000,0x20010000,0x30010000,
- 0x20000004,0x30000004,0x20010004,0x30010004,
- 0x00100000,0x10100000,0x00110000,0x10110000,
- 0x00100004,0x10100004,0x00110004,0x10110004,
- 0x20100000,0x30100000,0x20110000,0x30110000,
- 0x20100004,0x30100004,0x20110004,0x30110004,
- 0x00001000,0x10001000,0x00011000,0x10011000,
- 0x00001004,0x10001004,0x00011004,0x10011004,
- 0x20001000,0x30001000,0x20011000,0x30011000,
- 0x20001004,0x30001004,0x20011004,0x30011004,
- 0x00101000,0x10101000,0x00111000,0x10111000,
- 0x00101004,0x10101004,0x00111004,0x10111004,
- 0x20101000,0x30101000,0x20111000,0x30111000,
- 0x20101004,0x30101004,0x20111004,0x30111004
- },
-
- /* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */
- {
- 0x00000000,0x08000000,0x00000008,0x08000008,
- 0x00000400,0x08000400,0x00000408,0x08000408,
- 0x00020000,0x08020000,0x00020008,0x08020008,
- 0x00020400,0x08020400,0x00020408,0x08020408,
- 0x00000001,0x08000001,0x00000009,0x08000009,
- 0x00000401,0x08000401,0x00000409,0x08000409,
- 0x00020001,0x08020001,0x00020009,0x08020009,
- 0x00020401,0x08020401,0x00020409,0x08020409,
- 0x02000000,0x0A000000,0x02000008,0x0A000008,
- 0x02000400,0x0A000400,0x02000408,0x0A000408,
- 0x02020000,0x0A020000,0x02020008,0x0A020008,
- 0x02020400,0x0A020400,0x02020408,0x0A020408,
- 0x02000001,0x0A000001,0x02000009,0x0A000009,
- 0x02000401,0x0A000401,0x02000409,0x0A000409,
- 0x02020001,0x0A020001,0x02020009,0x0A020009,
- 0x02020401,0x0A020401,0x02020409,0x0A020409
- },
-
- /* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */
- {
- 0x00000000,0x00000100,0x00080000,0x00080100,
- 0x01000000,0x01000100,0x01080000,0x01080100,
- 0x00000010,0x00000110,0x00080010,0x00080110,
- 0x01000010,0x01000110,0x01080010,0x01080110,
- 0x00200000,0x00200100,0x00280000,0x00280100,
- 0x01200000,0x01200100,0x01280000,0x01280100,
- 0x00200010,0x00200110,0x00280010,0x00280110,
- 0x01200010,0x01200110,0x01280010,0x01280110,
- 0x00000200,0x00000300,0x00080200,0x00080300,
- 0x01000200,0x01000300,0x01080200,0x01080300,
- 0x00000210,0x00000310,0x00080210,0x00080310,
- 0x01000210,0x01000310,0x01080210,0x01080310,
- 0x00200200,0x00200300,0x00280200,0x00280300,
- 0x01200200,0x01200300,0x01280200,0x01280300,
- 0x00200210,0x00200310,0x00280210,0x00280310,
- 0x01200210,0x01200310,0x01280210,0x01280310
- },
-
- /* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */
- {
- 0x00000000,0x04000000,0x00040000,0x04040000,
- 0x00000002,0x04000002,0x00040002,0x04040002,
- 0x00002000,0x04002000,0x00042000,0x04042000,
- 0x00002002,0x04002002,0x00042002,0x04042002,
- 0x00000020,0x04000020,0x00040020,0x04040020,
- 0x00000022,0x04000022,0x00040022,0x04040022,
- 0x00002020,0x04002020,0x00042020,0x04042020,
- 0x00002022,0x04002022,0x00042022,0x04042022,
- 0x00000800,0x04000800,0x00040800,0x04040800,
- 0x00000802,0x04000802,0x00040802,0x04040802,
- 0x00002800,0x04002800,0x00042800,0x04042800,
- 0x00002802,0x04002802,0x00042802,0x04042802,
- 0x00000820,0x04000820,0x00040820,0x04040820,
- 0x00000822,0x04000822,0x00040822,0x04040822,
- 0x00002820,0x04002820,0x00042820,0x04042820,
- 0x00002822,0x04002822,0x00042822,0x04042822
- }
-};
-
diff --git a/libthecore/src/buffer.cpp b/libthecore/src/buffer.cpp
index 3ea7cae..122ef2e 100644
--- a/libthecore/src/buffer.cpp
+++ b/libthecore/src/buffer.cpp
@@ -164,13 +164,13 @@ void buffer_write(LPBUFFER& buffer, const void *src, int length)
if (buffer->write_point_pos + length >= buffer->mem_size)
buffer_realloc(buffer, buffer->mem_size + length + MIN(10240, length));
- thecore_memcpy(buffer->write_point, src, length);
+ memcpy(buffer->write_point, src, length);
buffer_write_proceed(buffer, length);
}
void buffer_read(LPBUFFER buffer, void * buf, int bytes)
{
- thecore_memcpy(buf, buffer->read_point, bytes);
+ memcpy(buf, buffer->read_point, bytes);
buffer_read_proceed(buffer, bytes);
}
@@ -277,7 +277,7 @@ void buffer_realloc(LPBUFFER& buffer, int length)
temp = buffer_new (length);
sys_log(0, "reallocating buffer to %d, current %d", temp->mem_size, buffer->mem_size);
- thecore_memcpy(temp->mem_data, buffer->mem_data, buffer->mem_size);
+ memcpy(temp->mem_data, buffer->mem_data, buffer->mem_size);
read_point_pos = buffer->read_point - buffer->mem_data;
diff --git a/libthecore/src/des.cpp b/libthecore/src/des.cpp
deleted file mode 100644
index 7a30a4b..0000000
--- a/libthecore/src/des.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-#include "stdafx.h"
-#include "DES_table.h"
-
-#define DES_ECB_ENCRYPT 0
-#define DES_ECB_DECRYPT 1
-
-// DES ECB encryption code
-extern DWORD SP_boxes[8][64];
-//extern DWORD KeyPerm[8][64];
-
-/*
- * Macroses to transform array of 4 bytes to 32-bit dwords
- * (and reverse) without depending on the Little-Endian or
- * Big-Endian processor's architecture
- */
-#define BYTES_TO_DWORD(b,d) (d = ((DWORD)(*((b)++))), \
- d |= ((DWORD)(*((b)++)))<< 8, \
- d |= ((DWORD)(*((b)++)))<<16, \
- d |= ((DWORD)(*((b)++)))<<24)
-
-#define DWORD_TO_4BYTES(d,b) (*((b)++)=(BYTE)(((d) )&0xff), \
- *((b)++)=(BYTE)(((d)>> 8)&0xff), \
- *((b)++)=(BYTE)(((d)>>16)&0xff), \
- *((b)++)=(BYTE)(((d)>>24)&0xff))
-
-/*
- * First of all, take into accounts the bytes and bites ordering
- * used in DES:
- *
- * DES: 1 2 3 4 5 6 7 8 .... 57 58 59 60 61 62 63 64
- * INTEL: 63 62 61 60 59 58 57 56 .... 7 6 5 4 3 2 1 0
- *
- * According to the DES, every 8-th bits is not used:
- * for DES the bites 8, 16, 32, ..., 64 are excluded,
- * for INTEL: 56, 48, 40, ..., 0 are excluded
- *
- * According to the above rool of numbering, the tables
- * used in DES (for Initial Permutation, Final Permutation,
- * Key Permutation, Compression Permutation, Expansion
- * Permutation and P-Box permutation) have to be re-written.
- *
- */
-
-/*
- Some main ideas used to optimize DES software
- implementation:
-
- a). Do not make an Expansion Permutation of 32-bit to
- 48 bit (32-bit of data - right half of 64-bit of data),
- but make a correspondent preparation of the Key. So,
- the step of Expansion Permutation and XORing 48 bit of
- Expanded data and 48 bit of Compressed key will be
- replaced by 2 XOR operations: 32 bit of data XOR first
- 32 bit part of prepeared key, then, the same 32 bit of
- data XOR second 32-bit part of prepeared key
-
- b). Combine S-Box Substitution and P-Box Permutation
- operations.
-
- c). For the best performance 56-bit encryption key
- have to be extendended to 128-byte array, i.e. for each
- of 16 rounds of DES we prepare a unique pair of two
- 32-bit (4-bytes) words (see 'a)' above).
-
- d). We can use XOR, SHIFT, AND operations to swap
- bits between words. For example, we have:
-
- word A word B
- 0 1 2 3 4 5 6 7
-
- We want to get:
-
- word A word B
- 0 4 2 6 1 5 3 7
-
- First, shift word A to get bites 1, 3 on the "right place"
-
- word TMP = (word A) >> 1 = 1 2 3 -
-
- TMP = TMP ^ B = 1^4 2^5 3^6 7
-
- we don't want to change bits 5 and 7 in the B word, so
-
- TMP = TMP & MASK = TMP & 1010 = 1^4 - 3^6 -
-
- now we can easy get the word B:
-
- B = B ^ TMP = (4 5 6 7) ^ (1^4 - 3^6 -) = 1 5 3 7
-
- if we shift our "masking" TMP word reverse - we get
- a mask for A word:
-
- TMP = TMP << 1 = - 1^4 - 3^6
-
- now we can easy get the word A:
-
- A = A ^ TMP = (0 1 2 3) ^ (- 1^4 - 3^6) = 0 4 2 6
-
- The example above may be used to swap not only single
- bits, but also bit sequencies. In this case you should
- use shift on the value, equal to the number of bits
- in pattern.
-
- As you see, all this opearations may be written like:
- TMP = ((A >> size) ^ B) & mask;
- B ^ = TMP;
- A ^= TMP << size;
-*/
-
-#define PERMUTATION(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\
- (b)^=(t),\
- (a)^=((t)<<(n)))
-
-#define HPERMUTATION(a,t,n,m) ((t)=((((a)<<(16-(n)))^(a))&(m)),\
- (a)=(a)^(t)^(t>>(16-(n))))
-
-#define D_ENCRYPT(Left, Right, Ks, Num, TmpA, TmpB) \
- TmpA = (Right ^ Ks[Num ]); \
- TmpB = (Right ^ Ks[Num+1]); \
- TmpB = ((TmpB >> 4) + (TmpB << 28)); \
- Left ^= SP_boxes[1][(TmpB )&0x3f]| \
- SP_boxes[3][(TmpB>> 8)&0x3f]| \
- SP_boxes[5][(TmpB>>16)&0x3f]| \
- SP_boxes[7][(TmpB>>24)&0x3f]| \
- SP_boxes[0][(TmpA )&0x3f]| \
- SP_boxes[2][(TmpA>> 8)&0x3f]| \
- SP_boxes[4][(TmpA>>16)&0x3f]| \
- SP_boxes[6][(TmpA>>24)&0x3f];
-
-void DES_ECB_mode(BYTE * Input, /* 8 bytes of input data */
- BYTE * Output, /* 8 bytes of output data */
- const DWORD * KeySchedule, /* [16][2] array of DWORDs */
- BYTE Operation) /* DES_ECB_ENCRYPT or DES_ECB_DECRYPT */
-{
- static BYTE * bInp, * bOut;
- static DWORD dwLeft, dwRigh, dwTmp, dwTmp1;
-
- bInp = Input;
- bOut = Output;
-
- BYTES_TO_DWORD(bInp, dwLeft);
- BYTES_TO_DWORD(bInp, dwRigh);
-
- /* Initial Permutation */
- PERMUTATION(dwRigh, dwLeft, dwTmp, 4, 0x0f0f0f0f);
- PERMUTATION(dwLeft, dwRigh, dwTmp,16, 0x0000ffff);
- PERMUTATION(dwRigh, dwLeft, dwTmp, 2, 0x33333333);
- PERMUTATION(dwLeft, dwRigh, dwTmp, 8, 0x00ff00ff);
- PERMUTATION(dwRigh, dwLeft, dwTmp, 1, 0x55555555);
-
- /* dwRigh and dwLeft has reversed bit orders - itwill be taken
- into account in the next step */
-
- /* The initial rotate is done outside the loop. This required the
- * SP_boxes values to be rotated 1 bit to the right.
- */
- dwTmp = (dwRigh<<1) | (dwRigh>>31);
- dwRigh = (dwLeft<<1) | (dwLeft>>31);
- dwLeft = dwTmp;
-
- /* clear the top bits on machines with 8byte longs */
- dwLeft &= 0xffffffff;
- dwRigh &= 0xffffffff;
-
- if (Operation == DES_ECB_ENCRYPT)
- { /* Key order */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 0, dwTmp, dwTmp1); /* 1 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 2, dwTmp, dwTmp1); /* 2 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 4, dwTmp, dwTmp1); /* 3 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 6, dwTmp, dwTmp1); /* 4 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 8, dwTmp, dwTmp1); /* 5 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 10, dwTmp, dwTmp1); /* 6 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 12, dwTmp, dwTmp1); /* 7 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 14, dwTmp, dwTmp1); /* 8 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 16, dwTmp, dwTmp1); /* 9 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 18, dwTmp, dwTmp1); /* 10 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 20, dwTmp, dwTmp1); /* 11 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 22, dwTmp, dwTmp1); /* 12 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 24, dwTmp, dwTmp1); /* 13 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 26, dwTmp, dwTmp1); /* 14 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 28, dwTmp, dwTmp1); /* 15 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 30, dwTmp, dwTmp1); /* 16 */
- }
- else
- {
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 30, dwTmp, dwTmp1); /* 16 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 28, dwTmp, dwTmp1); /* 15 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 26, dwTmp, dwTmp1); /* 14 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 24, dwTmp, dwTmp1); /* 13 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 22, dwTmp, dwTmp1); /* 12 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 20, dwTmp, dwTmp1); /* 11 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 18, dwTmp, dwTmp1); /* 10 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 16, dwTmp, dwTmp1); /* 9 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 14, dwTmp, dwTmp1); /* 8 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 12, dwTmp, dwTmp1); /* 7 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 10, dwTmp, dwTmp1); /* 6 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 8, dwTmp, dwTmp1); /* 5 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 6, dwTmp, dwTmp1); /* 4 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 4, dwTmp, dwTmp1); /* 3 */
- D_ENCRYPT(dwLeft, dwRigh, KeySchedule, 2, dwTmp, dwTmp1); /* 2 */
- D_ENCRYPT(dwRigh, dwLeft, KeySchedule, 0, dwTmp, dwTmp1); /* 1 */
- }
-
- dwLeft = (dwLeft>>1) | (dwLeft<<31);
- dwRigh = (dwRigh>>1) | (dwRigh<<31);
-
- /* clear the top bits on machines with 8byte longs */
- dwLeft &= 0xffffffff;
- dwRigh &= 0xffffffff;
-
- /*
- * Do we need to swap dwLeft and dwRigh?
- * We have not to do the swap
- * (We remember they are reversed)
- * So - all we have to do is to make a correspondent Final Permutation
- */
-
- PERMUTATION(dwRigh, dwLeft, dwTmp, 1,0x55555555);
- PERMUTATION(dwLeft, dwRigh, dwTmp, 8,0x00ff00ff);
- PERMUTATION(dwRigh, dwLeft, dwTmp, 2,0x33333333);
- PERMUTATION(dwLeft, dwRigh, dwTmp,16,0x0000ffff);
- PERMUTATION(dwRigh, dwLeft, dwTmp, 4,0x0f0f0f0f);
-
- /* Place our two 32-bits results into 8 bytes of output data */
- DWORD_TO_4BYTES(dwLeft, bOut);
- DWORD_TO_4BYTES(dwRigh, bOut);
-}
-
-//************ DES CBC mode encryption **************
-int DES_Encrypt(DWORD *DstBuffer, const DWORD * SrcBuffer, const DWORD *KeyAddress, DWORD Length, DWORD *IVector)
-{
- DWORD i;
- DWORD buffer[2];
-
- buffer[0] = IVector[0];
- buffer[1] = IVector[1];
-
- for (i = 0; i < (Length >> 2); i = i+2)
- {
- // do EBC encryption of (Initial_Vector XOR Data)
- buffer[0] ^= SrcBuffer[i];
- buffer[1] ^= SrcBuffer[i+1];
-
- DES_ECB_mode((BYTE *) buffer, (BYTE *) buffer, KeyAddress, DES_ECB_ENCRYPT);
-
- DstBuffer[i] = buffer[0];
- DstBuffer[i+1] = buffer[1];
- }
-
- return Length;
-}
-
-//************ DES CBC mode decryption **************
-int DES_Decrypt(DWORD *DstBuffer, const DWORD * SrcBuffer, const DWORD *KeyAddress, DWORD Length, DWORD *IVector)
-{
- DWORD i;
- DWORD buffer[2], ivectorL, ivectorR, oldSrcL, oldSrcR;
-
- ivectorL = IVector[0];
- ivectorR = IVector[1];
-
- for (i = 0; i < (Length >> 2); i = i + 2)
- {
- buffer[0] = oldSrcL = SrcBuffer[i];
- buffer[1] = oldSrcR = SrcBuffer[i+1];
-
- // Encrypted Data -> new IV,
- // then do EBC decryption of Encrypted Data,
- // then XOR decrypted data with old IV
- DES_ECB_mode((BYTE *)buffer, (BYTE *)buffer, KeyAddress, DES_ECB_DECRYPT);
-
- DstBuffer[i] = buffer[0] ^ ivectorL;
- DstBuffer[i+1] = buffer[1] ^ ivectorR;
-
- ivectorL = oldSrcL;
- ivectorR = oldSrcR;
- }
-
- return Length;
-}
-
diff --git a/libthecore/src/gost.cpp b/libthecore/src/gost.cpp
deleted file mode 100644
index 616390f..0000000
--- a/libthecore/src/gost.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-#include "stdafx.h"
-/*
-static unsigned char const k8[16] = { 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 };
-static unsigned char const k7[16] = { 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10 };
-static unsigned char const k6[16] = { 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8 };
-static unsigned char const k5[16] = { 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15 };
-static unsigned char const k4[16] = { 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9 };
-static unsigned char const k3[16] = { 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11 };
-static unsigned char const k2[16] = { 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 };
-static unsigned char const k1[16] = { 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7 };
-*/
-static unsigned char const k8[16] = { 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 };
-static unsigned char const k7[16] = { 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5 };
-static unsigned char const k6[16] = { 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8 };
-static unsigned char const k5[16] = { 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9 };
-static unsigned char const k4[16] = { 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 };
-static unsigned char const k3[16] = { 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 };
-static unsigned char const k2[16] = { 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 };
-static unsigned char const k1[16] = { 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8 };
-
-/* Byte-at-a-time substitution boxes */
-static unsigned char k87[256];
-static unsigned char k65[256];
-static unsigned char k43[256];
-static unsigned char k21[256];
-
-void GOST_Init()
-{
- int i;
-
- for (i = 0; i < 256; i++)
- {
- k87[i] = k8[i >> 4] << 4 | k7[i & 15];
- k65[i] = k6[i >> 4] << 4 | k5[i & 15];
- k43[i] = k4[i >> 4] << 4 | k3[i & 15];
- k21[i] = k2[i >> 4] << 4 | k1[i & 15];
- }
-}
-
-INLINE static DWORD f(DWORD x)
-{
- x = k87[x >> 24 & 255] << 24 | k65[x >> 16 & 255] << 16 | k43[x >> 8 & 255] << 8 | k21[x & 255];
- return x << 11 | x >> (32 - 11);
-}
-/*
-static void GOST_ECB_Encrypt(DWORD * N1, DWORD * N2, const DWORD * KeyAddress)
-{
- register DWORD n1, n2; // As named in the GOST
-
- n1 = *N1;
- n2 = *N2;
-
- // Instead of swapping halves, swap names each round
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[7]);
- n1 ^= f(n2+KeyAddress[6]);
- n2 ^= f(n1+KeyAddress[5]);
- n1 ^= f(n2+KeyAddress[4]);
- n2 ^= f(n1+KeyAddress[3]);
- n1 ^= f(n2+KeyAddress[2]);
- n2 ^= f(n1+KeyAddress[1]);
- n1 ^= f(n2+KeyAddress[0]);
-
- // There is no swap after the last round
- *N1 = n2;
- *N2 = n1;
-}
-*/
-int GOST_Encrypt(DWORD * DstBuffer, const DWORD * SrcBuffer, const DWORD * KeyAddress, DWORD Length, DWORD *IVector)
-{
- DWORD i;
- DWORD N1,N2;
-
- N1 = IVector[0];
- N2 = IVector[1];
-
- for (i = 0; i < (Length >> 2); i = i+2)
- {
- register DWORD n1, n2; // As named in the GOST
-
- n1 = N1;
- n2 = N2;
-
- // Instead of swapping halves, swap names each round
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[7]);
- n1 ^= f(n2+KeyAddress[6]);
- n2 ^= f(n1+KeyAddress[5]);
- n1 ^= f(n2+KeyAddress[4]);
- n2 ^= f(n1+KeyAddress[3]);
- n1 ^= f(n2+KeyAddress[2]);
- n2 ^= f(n1+KeyAddress[1]);
- n1 ^= f(n2+KeyAddress[0]);
-
- N1 = n2;
- N2 = n1;
- //GOST_ECB_Encrypt(&N1, &N2, KeyAddress);
- // XOR plaintext with initial vector,
- // move rezult to ciphertext and to initial vector
- DstBuffer[i] = SrcBuffer[i] ^ N1;
- N1 = DstBuffer[i];
-
- DstBuffer[i+1] = SrcBuffer[i+1] ^ N2;
- N2 = DstBuffer[i+1];
- }
-
- return Length;
-}
-
-
-// ************ GOST CBC decryption **************
-int GOST_Decrypt(DWORD * DstBuffer, const DWORD * SrcBuffer, const DWORD * KeyAddress, DWORD Length, DWORD *IVector)
-{
- DWORD i;
- DWORD N1, N2, dwTmp;
-
- N1 = IVector[0];
- N2 = IVector[1];
-
- for (i = 0; i < (Length >> 2); i = i + 2)
- {
- register DWORD n1, n2; // As named in the GOST
-
- n1 = N1;
- n2 = N2;
-
- // Instead of swapping halves, swap names each round
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[0]);
- n1 ^= f(n2+KeyAddress[1]);
- n2 ^= f(n1+KeyAddress[2]);
- n1 ^= f(n2+KeyAddress[3]);
- n2 ^= f(n1+KeyAddress[4]);
- n1 ^= f(n2+KeyAddress[5]);
- n2 ^= f(n1+KeyAddress[6]);
- n1 ^= f(n2+KeyAddress[7]);
-
- n2 ^= f(n1+KeyAddress[7]);
- n1 ^= f(n2+KeyAddress[6]);
- n2 ^= f(n1+KeyAddress[5]);
- n1 ^= f(n2+KeyAddress[4]);
- n2 ^= f(n1+KeyAddress[3]);
- n1 ^= f(n2+KeyAddress[2]);
- n2 ^= f(n1+KeyAddress[1]);
- n1 ^= f(n2+KeyAddress[0]);
-
- // There is no swap after the last round
- N1 = n2;
- N2 = n1;
- //GOST_ECB_Encrypt(&N1, &N2, KeyAddress);
- // XOR encrypted text with encrypted initial vector (we get rezult - decrypted text),
- // move encrypted text to new initial vector.
- // We need dwTmp because SrcBuffer may be the same as DstBuffer
- dwTmp = SrcBuffer[i] ^ N1;
- N1 = SrcBuffer[i];
- DstBuffer[i] = dwTmp;
-
- dwTmp = SrcBuffer[i+1] ^ N2;
- N2 = SrcBuffer[i+1];
- DstBuffer[i+1] = dwTmp;
- }
-
- return Length;
-}
-
diff --git a/libthecore/src/gost_old.cpp b/libthecore/src/gost_old.cpp
deleted file mode 100644
index 5c18977..0000000
--- a/libthecore/src/gost_old.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-/*
- * The GOST 28147-89 cipher
- *
- * This is based on the 25 Movember 1993 draft translation
- * by Aleksandr Malchik, with Whitfield Diffie, of the Government
- * Standard of the U.S.S.R. GOST 28149-89, "Cryptographic Transformation
- * Algorithm", effective 1 July 1990. (Whitfield.Diffie@eng.sun.com)
- *
- * That is a draft, and may contain errors, which will be faithfully
- * reflected here, along with possible exciting new bugs.
- *
- * Some details have been cleared up by the paper "Soviet Encryption
- * Algorithm" by Josef Pieprzyk and Leonid Tombak of the University
- * of Wollongong, New South Wales. (josef/leo@cs.adfa.oz.au)
- *
- * The standard is written by A. Zabotin (project leader), G.P. Glazkov,
- * and V.B. Isaeva. It was accepted and introduced into use by the
- * action of the State Standards Committee of the USSR on 2 June 89 as
- * No. 1409. It was to be reviewed in 1993, but whether anyone wishes
- * to take on this obligation from the USSR is questionable.
- *
- * This code is placed in the public domain.
- */
-
-/*
- * If you read the standard, it belabors the point of copying corresponding
- * bits from point A to point B quite a bit. It helps to understand that
- * the standard is uniformly little-endian, although it numbers bits from
- * 1 rather than 0, so bit n has value 2^(n-1). The least significant bit
- * of the 32-bit words that are manipulated in the algorithm is the first,
- * lowest-numbered, in the bit string.
- */
-
-
-/* A 32-bit data type */
-#ifdef __alpha /* Any other 64-bit machines? */
-typedef unsigned int word32;
-#else
-typedef unsigned long word32;
-#endif
-
-/*
- * The standard does not specify the contents of the 8 4 bit->4 bit
- * substitution boxes, saying they're a parameter of the network
- * being set up. For illustration purposes here, I have used
- * the first rows of the 8 S-boxes from the DES. (Note that the
- * DES S-boxes are numbered starting from 1 at the msb. In keeping
- * with the rest of the GOST, I have used little-endian numbering.
- * Thus, k8 is S-box 1.
- *
- * Obviously, a careful look at the cryptographic properties of the cipher
- * must be undertaken before "production" substitution boxes are defined.
- *
- * The standard also does not specify a standard bit-string representation
- * for the contents of these blocks.
- */
-static unsigned char const k8[16] = { 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 };
-static unsigned char const k7[16] = { 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10 };
-static unsigned char const k6[16] = { 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8 };
-static unsigned char const k5[16] = { 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15 };
-static unsigned char const k4[16] = { 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9 };
-static unsigned char const k3[16] = { 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11 };
-static unsigned char const k2[16] = { 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 };
-static unsigned char const k1[16] = { 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7 };
-
-/* Byte-at-a-time substitution boxes */
-static unsigned char k87[256];
-static unsigned char k65[256];
-static unsigned char k43[256];
-static unsigned char k21[256];
-
-/*
- * Build byte-at-a-time subtitution tables.
- * This must be called once for global setup.
- */
-#include
-
-void kboxinit(void)
-{
- int i;
-
- for (i = 0; i < 256; i++)
- {
- k87[i] = k8[i >> 4] << 4 | k7[i & 15];
- k65[i] = k6[i >> 4] << 4 | k5[i & 15];
- k43[i] = k4[i >> 4] << 4 | k3[i & 15];
- k21[i] = k2[i >> 4] << 4 | k1[i & 15];
- }
-}
-
-/*
- * Do the substitution and rotation that are the core of the operation,
- * like the expansion, substitution and permutation of the DES.
- * It would be possible to perform DES-like optimisations and store
- * the table entries as 32-bit words, already rotated, but the
- * efficiency gain is questionable.
- *
- * This should be inlined for maximum speed
- */
-#if __GNUC__
-__inline__
-#endif
-static word32 f(word32 x)
-{
- /* Do substitutions */
-#if 0
- /* This is annoyingly slow */
- x = k8[x>>28 & 15] << 28 | k7[x>>24 & 15] << 24 |
- k6[x>>20 & 15] << 20 | k5[x>>16 & 15] << 16 |
- k4[x>>12 & 15] << 12 | k3[x>> 8 & 15] << 8 |
- k2[x>> 4 & 15] << 4 | k1[x & 15];
-#else
- /* This is faster */
- x = k87[x>>24 & 255] << 24 | k65[x>>16 & 255] << 16 | k43[x>> 8 & 255] << 8 | k21[x & 255];
-#endif
-
- /* Rotate left 11 bits */
- return x << 11 | x >> (32 - 11);
-}
-
-/*
- * The GOST standard defines the input in terms of bits 1..64, with
- * bit 1 being the lsb of in[0] and bit 64 being the msb of in[1].
- *
- * The keys are defined similarly, with bit 256 being the msb of key[7].
- */
-void gostcrypt(word32 const in[2], word32 out[2], word32 const key[8])
-{
- register word32 n1, n2; /* As named in the GOST */
-
- n1 = in[0];
- n2 = in[1];
-
- /* Instead of swapping halves, swap names each round */
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
-
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
-
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
-
- n2 ^= f(n1+key[7]);
- n1 ^= f(n2+key[6]);
- n2 ^= f(n1+key[5]);
- n1 ^= f(n2+key[4]);
- n2 ^= f(n1+key[3]);
- n1 ^= f(n2+key[2]);
- n2 ^= f(n1+key[1]);
- n1 ^= f(n2+key[0]);
-
- /* There is no swap after the last round */
- out[0] = n2;
- out[1] = n1;
-}
-
-
-/*
- * The key schedule is somewhat different for decryption.
- * (The key table is used once forward and three times backward.)
- * You could define an expanded key, or just write the code twice,
- * as done here.
- */
-void gostdecrypt(word32 const in[2], word32 out[2], word32 const key[8])
-{
- register word32 n1, n2; /* As named in the GOST */
-
- n1 = in[0];
- n2 = in[1];
-
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
-
- n2 ^= f(n1+key[7]);
- n1 ^= f(n2+key[6]);
- n2 ^= f(n1+key[5]);
- n1 ^= f(n2+key[4]);
- n2 ^= f(n1+key[3]);
- n1 ^= f(n2+key[2]);
- n2 ^= f(n1+key[1]);
- n1 ^= f(n2+key[0]);
-
- n2 ^= f(n1+key[7]);
- n1 ^= f(n2+key[6]);
- n2 ^= f(n1+key[5]);
- n1 ^= f(n2+key[4]);
- n2 ^= f(n1+key[3]);
- n1 ^= f(n2+key[2]);
- n2 ^= f(n1+key[1]);
- n1 ^= f(n2+key[0]);
-
- n2 ^= f(n1+key[7]);
- n1 ^= f(n2+key[6]);
- n2 ^= f(n1+key[5]);
- n1 ^= f(n2+key[4]);
- n2 ^= f(n1+key[3]);
- n1 ^= f(n2+key[2]);
- n2 ^= f(n1+key[1]);
- n1 ^= f(n2+key[0]);
-
- out[0] = n2;
- out[1] = n1;
-}
-
-/*
- * The GOST "Output feedback" standard. It seems closer morally
- * to the counter feedback mode some people have proposed for DES.
- * The avoidance of the short cycles that are possible in OFB seems
- * like a Good Thing.
- *
- * Calling it the stream mode makes more sense.
- *
- * The IV is encrypted with the key to produce the initial counter value.
- * Then, for each output block, a constant is added, modulo 2^32-1
- * (0 is represented as all-ones, not all-zeros), to each half of
- * the counter, and the counter is encrypted to produce the value
- * to XOR with the output.
- *
- * Len is the number of blocks. Sub-block encryption is
- * left as an exercise for the user. Remember that the
- * standard defines everything in a little-endian manner,
- * so you want to use the low bit of gamma[0] first.
- *
- * OFB is, of course, self-inverse, so there is only one function.
- */
-
-/* The constants for addition */
-#define C1 0x01010104
-#define C2 0x01010101
-
-void gostofb(word32 const *in, word32 *out, int len, word32 const iv[2], word32 const key[8])
-{
- word32 temp[2]; /* Counter */
- word32 gamma[2]; /* Output XOR value */
-
- /* Compute starting value for counter */
- gostcrypt(iv, temp, key);
-
- while (len--)
- {
- temp[0] += C2;
-
- if (temp[0] < C2) /* Wrap modulo 2^32? */
- temp[0]++; /* Make it modulo 2^32-1 */
-
- temp[1] += C1;
-
- if (temp[1] < C1) /* Wrap modulo 2^32? */
- temp[1]++; /* Make it modulo 2^32-1 */
-
- gostcrypt(temp, gamma, key);
-
- *out++ = *in++ ^ gamma[0];
- *out++ = *in++ ^ gamma[1];
- }
-}
-
-/*
- * The CFB mode is just what you'd expect. Each block of ciphertext y[] is
- * derived from the input x[] by the following pseudocode:
- * y[i] = x[i] ^ gostcrypt(y[i-1])
- * x[i] = y[i] ^ gostcrypt(y[i-1])
- * Where y[-1] is the IV.
- *
- * The IV is modified in place. Again, len is in *blocks*.
- */
-
-void gostcfbencrypt(word32 const *in, word32 *out, int len, word32 iv[2], word32 const key[8])
-{
- while (len--)
- {
- gostcrypt(iv, iv, key);
- iv[0] = *out++ ^= iv[0];
- iv[1] = *out++ ^= iv[1];
- }
-}
-
-void gostcfbdecrypt(word32 const *in, word32 *out, int len, word32 iv[2], word32 const key[8])
-{
- word32 t;
-
- while (len--)
- {
- gostcrypt(iv, iv, key);
- t = *out;
- *out++ ^= iv[0];
- iv[0] = t;
- t = *out;
- *out++ ^= iv[1];
- iv[1] = t;
- }
-}
-
-
-/*
- * The message suthetication code uses only 16 of the 32 rounds.
- * There *is* a swap after the 16th round.
- * The last block should be padded to 64 bits with zeros.
- * len is the number of *blocks* in the input.
- */
-void gostmac(word32 const *in, int len, word32 out[2], word32 const key[8])
-{
- register word32 n1, n2; /* As named in the GOST */
-
- n1 = 0;
- n2 = 0;
-
- while (len--)
- {
- n1 ^= *in++;
- n2 = *in++;
-
- /* Instead of swapping halves, swap names each round */
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
-
- n2 ^= f(n1+key[0]);
- n1 ^= f(n2+key[1]);
- n2 ^= f(n1+key[2]);
- n1 ^= f(n2+key[3]);
- n2 ^= f(n1+key[4]);
- n1 ^= f(n2+key[5]);
- n2 ^= f(n1+key[6]);
- n1 ^= f(n2+key[7]);
- }
-
- out[0] = n1;
- out[1] = n2;
-}
-
-#ifdef TEST
-
-#include
-#include
-
-/* Designed to cope with 15-bit rand() implementations */
-#define RAND32 ((word32)rand() << 17 ^ (word32)rand() << 9 ^ rand())
-
-int main(void)
-{
- word32 key[8];
- word32 plain[2];
- word32 cipher[2];
- int i, j;
-
- kboxinit();
-
- printf("GOST 21847-89 test driver.\n");
-
- for (i = 0; i < 1000; i++)
- {
- for (j = 0; j < 8; j++)
- key[j] = RAND32;
-
- plain[0] = RAND32;
- plain[1] = RAND32;
-
- printf("%3d\r", i);
- fflush(stdout);
-
- gostcrypt(plain, cipher, key);
-
- for (j = 0; j < 99; j++)
- gostcrypt(cipher, cipher, key);
-
- for (j = 0; j < 100; j++)
- gostdecrypt(cipher, cipher, key);
-
- if (plain[0] != cipher[0] || plain[1] != cipher[1])
- {
- fprintf(stderr, "\nError! i = %d\n", i);
- return 1;
- }
- }
-
- printf("All tests passed.\n");
- return 0;
-}
-
-#endif /* TEST */
diff --git a/libthecore/src/hangul.cpp b/libthecore/src/hangul.cpp
deleted file mode 100644
index 5d11ccd..0000000
--- a/libthecore/src/hangul.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Filename: hangul.c
- * Description: ѱ ҽ
- *
- * Author: aka. Cronan
- */
-#define __LIBTHECORE__
-#include "stdafx.h"
-
-int is_hangul(const BYTE * str)
-{
- if (str[0] >= 0xb0 && str[0] <= 0xc8 && str[1] >= 0xa1 && str[1] <= 0xfe)
- return 1;
-
- return 0;
-}
-
-int check_han(const char *str)
-{
- int i, code;
-
- if (!str || !*str)
- return 0;
-
- for (i = 0; str[i]; i += 2)
- {
- if (isnhspace(str[i]))
- return 0;
-
- if (isalpha(str[i]) || isdigit(str[i]))
- continue;
-
- code = str[i];
- code += 256;
-
- if (code < 176 || code > 200)
- return 0;
- }
-
- return 1;
-}
-
-const char *first_han(const BYTE *str)
-{
- unsigned char high, low;
- int len, i;
- char *p = "";
-
- static const char* wansung[] =
- {
- "", "", "", "", "",
- "", "", "", "", "",
- "", "", "", "", "",
- "ī", "Ÿ", "", "", ""
- };
-
- static const char* johab[] =
- {
- "a", "a", "a", "a", "a",
- "a", "a", "a", "a", "a",
- "a", "a", "a", "a", "a",
- "a", "?", "?", "?", ""
- };
-
- len = strlen((const char*) str);
-
- if (len < 2)
- return p;
-
- high = str[0];
- low = str[1];
-
- if (!is_hangul(str))
- {
- return p;
- }
-
- high = (KStbl[(high - 0xb0) * 94 + low - 0xa1] >> 8) & 0x7c;
-
- for (i = 0; johab[i][0]; i++)
- {
- low = (johab[i][0] & 0x7f);
-
- if (low == high)
- return (wansung[i]);
- }
-
- return (p);
-}
-
-int under_han(const void * orig)
-{
- const BYTE * str = (const BYTE *) orig;
- BYTE high, low;
- int len;
-
- len = strlen((const char*) str);
-
- if (len < 2)
- return 0;
-
- if (str[len - 1] == ')')
- {
- while (str[len] != '(')
- len--;
- }
-
- high = str[len - 2];
- low = str[len - 1];
-
- if (!is_hangul(&str[len - 2]))
- return 0;
-
- high = KStbl[(high - 0xb0) * 94 + low - 0xa1] & 0x1f;
-
- if (high < 2)
- return 0;
-
- if (high > 28)
- return 0;
-
- return 1;
-}
diff --git a/libthecore/src/kstbl.cpp b/libthecore/src/kstbl.cpp
deleted file mode 100644
index c40c0a4..0000000
--- a/libthecore/src/kstbl.cpp
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * Filename: kstbl.c
- * Description: Ʒ δ.
- *
- * Author: aka. Cronan
- */
-#define __LIBTHECORE__
-unsigned KStbl[2350] =
-{
- /* KS ϼ 2350 ڵ */
- 0x8861,0x8862,0x8865,0x8868,0x8869,0x886a,0x886b,0x8871,
- 0x8873,0x8874,0x8875,0x8876,0x8877,0x8878,0x8879,0x887b,
- 0x887c,0x887d,0x8881,0x8882,0x8885,0x8889,0x8891,0x8893,
- 0x8895,0x8896,0x8897,0x88a1,0x88a2,0x88a5,0x88a9,0x88b5,
- 0x88b7,0x88c1,0x88c5,0x88c9,0x88e1,0x88e2,0x88e5,0x88e8,
- 0x88e9,0x88eb,0x88f1,0x88f3,0x88f5,0x88f6,0x88f7,0x88f8,
- 0x88fb,0x88fc,0x88fd,0x8941,0x8945,0x8949,0x8951,0x8953,
- 0x8955,0x8956,0x8957,0x8961,0x8962,0x8963,0x8965,0x8968,
- 0x8969,0x8971,0x8973,0x8975,0x8976,0x8977,0x897b,0x8981,
- 0x8985,0x8989,0x8993,0x8995,0x89a1,0x89a2,0x89a5,0x89a8,
- 0x89a9,0x89ab,0x89ad,0x89b0,0x89b1,0x89b3,0x89b5,0x89b7,
- 0x89b8,0x89c1,0x89c2,0x89c5,0x89c9,0x89cb,
-
- 0x89d1,0x89d3,0x89d5,0x89d7,0x89e1,0x89e5,0x89e9,0x89f1,
- 0x89f6,0x89f7,0x8a41,0x8a42,0x8a45,0x8a49,0x8a51,0x8a53,
- 0x8a55,0x8a57,0x8a61,0x8a65,0x8a69,0x8a73,0x8a75,0x8a81,
- 0x8a82,0x8a85,0x8a88,0x8a89,0x8a8a,0x8a8b,0x8a90,0x8a91,
- 0x8a93,0x8a95,0x8a97,0x8a98,0x8aa1,0x8aa2,0x8aa5,0x8aa9,
- 0x8ab6,0x8ab7,0x8ac1,0x8ad5,0x8ae1,0x8ae2,0x8ae5,0x8ae9,
- 0x8af1,0x8af3,0x8af5,0x8b41,0x8b45,0x8b49,0x8b61,0x8b62,
- 0x8b65,0x8b68,0x8b69,0x8b6a,0x8b71,0x8b73,0x8b75,0x8b77,
- 0x8b81,0x8ba1,0x8ba2,0x8ba5,0x8ba8,0x8ba9,0x8bab,0x8bb1,
- 0x8bb3,0x8bb5,0x8bb7,0x8bb8,0x8bbc,0x8c61,0x8c62,0x8c63,
- 0x8c65,0x8c69,0x8c6b,0x8c71,0x8c73,0x8c75,0x8c76,0x8c77,
- 0x8c7b,0x8c81,0x8c82,0x8c85,0x8c89,0x8c91,
-
- 0x8c93,0x8c95,0x8c96,0x8c97,0x8ca1,0x8ca2,0x8ca9,0x8ce1,
- 0x8ce2,0x8ce3,0x8ce5,0x8ce9,0x8cf1,0x8cf3,0x8cf5,0x8cf6,
- 0x8cf7,0x8d41,0x8d42,0x8d45,0x8d51,0x8d55,0x8d57,0x8d61,
- 0x8d65,0x8d69,0x8d75,0x8d76,0x8d7b,0x8d81,0x8da1,0x8da2,
- 0x8da5,0x8da7,0x8da9,0x8db1,0x8db3,0x8db5,0x8db7,0x8db8,
- 0x8db9,0x8dc1,0x8dc2,0x8dc9,0x8dd6,0x8dd7,0x8de1,0x8de2,
- 0x8df7,0x8e41,0x8e45,0x8e49,0x8e51,0x8e53,0x8e57,0x8e61,
- 0x8e81,0x8e82,0x8e85,0x8e89,0x8e90,0x8e91,0x8e93,0x8e95,
- 0x8e97,0x8e98,0x8ea1,0x8ea9,0x8eb6,0x8eb7,0x8ec1,0x8ec2,
- 0x8ec5,0x8ec9,0x8ed1,0x8ed3,0x8ed6,0x8ee1,0x8ee5,0x8ee9,
- 0x8ef1,0x8ef3,0x8f41,0x8f61,0x8f62,0x8f65,0x8f67,0x8f69,
- 0x8f6b,0x8f70,0x8f71,0x8f73,0x8f75,0x8f77,
-
- 0x8f7b,0x8fa1,0x8fa2,0x8fa5,0x8fa9,0x8fb1,0x8fb3,0x8fb5,
- 0x8fb7,0x9061,0x9062,0x9063,0x9065,0x9068,0x9069,0x906a,
- 0x906b,0x9071,0x9073,0x9075,0x9076,0x9077,0x9078,0x9079,
- 0x907b,0x907d,0x9081,0x9082,0x9085,0x9089,0x9091,0x9093,
- 0x9095,0x9096,0x9097,0x90a1,0x90a2,0x90a5,0x90a9,0x90b1,
- 0x90b7,0x90e1,0x90e2,0x90e4,0x90e5,0x90e9,0x90eb,0x90ec,
- 0x90f1,0x90f3,0x90f5,0x90f6,0x90f7,0x90fd,0x9141,0x9142,
- 0x9145,0x9149,0x9151,0x9153,0x9155,0x9156,0x9157,0x9161,
- 0x9162,0x9165,0x9169,0x9171,0x9173,0x9176,0x9177,0x917a,
- 0x9181,0x9185,0x91a1,0x91a2,0x91a5,0x91a9,0x91ab,0x91b1,
- 0x91b3,0x91b5,0x91b7,0x91bc,0x91bd,0x91c1,0x91c5,0x91c9,
- 0x91d6,0x9241,0x9245,0x9249,0x9251,0x9253,
-
- 0x9255,0x9261,0x9262,0x9265,0x9269,0x9273,0x9275,0x9277,
- 0x9281,0x9282,0x9285,0x9288,0x9289,0x9291,0x9293,0x9295,
- 0x9297,0x92a1,0x92b6,0x92c1,0x92e1,0x92e5,0x92e9,0x92f1,
- 0x92f3,0x9341,0x9342,0x9349,0x9351,0x9353,0x9357,0x9361,
- 0x9362,0x9365,0x9369,0x936a,0x936b,0x9371,0x9373,0x9375,
- 0x9377,0x9378,0x937c,0x9381,0x9385,0x9389,0x93a1,0x93a2,
- 0x93a5,0x93a9,0x93af,0x93b1,0x93b3,0x93b5,0x93b7,0x93bc,
- 0x9461,0x9462,0x9463,0x9465,0x9468,0x9469,0x946a,0x946b,
- 0x946c,0x9470,0x9471,0x9473,0x9475,0x9476,0x9477,0x9478,
- 0x9479,0x947d,0x9481,0x9482,0x9485,0x9489,0x9491,0x9493,
- 0x9495,0x9496,0x9497,0x94a1,0x94e1,0x94e2,0x94e3,0x94e5,
- 0x94e8,0x94e9,0x94eb,0x94ec,0x94f1,0x94f3,
-
- 0x94f5,0x94f7,0x94f9,0x94fc,0x9541,0x9542,0x9545,0x9549,
- 0x9551,0x9553,0x9555,0x9556,0x9557,0x9561,0x9565,0x9569,
- 0x9576,0x9577,0x9581,0x9585,0x95a1,0x95a2,0x95a5,0x95a8,
- 0x95a9,0x95ab,0x95ad,0x95b1,0x95b3,0x95b5,0x95b7,0x95b9,
- 0x95bb,0x95c1,0x95c5,0x95c9,0x95e1,0x95f6,0x9641,0x9645,
- 0x9649,0x9651,0x9653,0x9655,0x9661,0x9681,0x9682,0x9685,
- 0x9689,0x9691,0x9693,0x9695,0x9697,0x96a1,0x96b6,0x96c1,
- 0x96d7,0x96e1,0x96e5,0x96e9,0x96f3,0x96f5,0x96f7,0x9741,
- 0x9745,0x9749,0x9751,0x9757,0x9761,0x9762,0x9765,0x9768,
- 0x9769,0x976b,0x9771,0x9773,0x9775,0x9777,0x9781,0x97a1,
- 0x97a2,0x97a5,0x97a8,0x97a9,0x97b1,0x97b3,0x97b5,0x97b6,
- 0x97b7,0x97b8,0x9861,0x9862,0x9865,0x9869,
-
- 0x9871,0x9873,0x9875,0x9876,0x9877,0x987d,0x9881,0x9882,
- 0x9885,0x9889,0x9891,0x9893,0x9895,0x9896,0x9897,0x98e1,
- 0x98e2,0x98e5,0x98e9,0x98eb,0x98ec,0x98f1,0x98f3,0x98f5,
- 0x98f6,0x98f7,0x98fd,0x9941,0x9942,0x9945,0x9949,0x9951,
- 0x9953,0x9955,0x9956,0x9957,0x9961,0x9976,0x99a1,0x99a2,
- 0x99a5,0x99a9,0x99b7,0x99c1,0x99c9,0x99e1,0x9a41,0x9a45,
- 0x9a81,0x9a82,0x9a85,0x9a89,0x9a90,0x9a91,0x9a97,0x9ac1,
- 0x9ae1,0x9ae5,0x9ae9,0x9af1,0x9af3,0x9af7,0x9b61,0x9b62,
- 0x9b65,0x9b68,0x9b69,0x9b71,0x9b73,0x9b75,0x9b81,0x9b85,
- 0x9b89,0x9b91,0x9b93,0x9ba1,0x9ba5,0x9ba9,0x9bb1,0x9bb3,
- 0x9bb5,0x9bb7,0x9c61,0x9c62,0x9c65,0x9c69,0x9c71,0x9c73,
- 0x9c75,0x9c76,0x9c77,0x9c78,0x9c7c,0x9c7d,
-
- 0x9c81,0x9c82,0x9c85,0x9c89,0x9c91,0x9c93,0x9c95,0x9c96,
- 0x9c97,0x9ca1,0x9ca2,0x9ca5,0x9cb5,0x9cb7,0x9ce1,0x9ce2,
- 0x9ce5,0x9ce9,0x9cf1,0x9cf3,0x9cf5,0x9cf6,0x9cf7,0x9cfd,
- 0x9d41,0x9d42,0x9d45,0x9d49,0x9d51,0x9d53,0x9d55,0x9d57,
- 0x9d61,0x9d62,0x9d65,0x9d69,0x9d71,0x9d73,0x9d75,0x9d76,
- 0x9d77,0x9d81,0x9d85,0x9d93,0x9d95,0x9da1,0x9da2,0x9da5,
- 0x9da9,0x9db1,0x9db3,0x9db5,0x9db7,0x9dc1,0x9dc5,0x9dd7,
- 0x9df6,0x9e41,0x9e45,0x9e49,0x9e51,0x9e53,0x9e55,0x9e57,
- 0x9e61,0x9e65,0x9e69,0x9e73,0x9e75,0x9e77,0x9e81,0x9e82,
- 0x9e85,0x9e89,0x9e91,0x9e93,0x9e95,0x9e97,0x9ea1,0x9eb6,
- 0x9ec1,0x9ee1,0x9ee2,0x9ee5,0x9ee9,0x9ef1,0x9ef5,0x9ef7,
- 0x9f41,0x9f42,0x9f45,0x9f49,0x9f51,0x9f53,
-
- 0x9f55,0x9f57,0x9f61,0x9f62,0x9f65,0x9f69,0x9f71,0x9f73,
- 0x9f75,0x9f77,0x9f78,0x9f7b,0x9f7c,0x9fa1,0x9fa2,0x9fa5,
- 0x9fa9,0x9fb1,0x9fb3,0x9fb5,0x9fb7,0xa061,0xa062,0xa065,
- 0xa067,0xa068,0xa069,0xa06a,0xa06b,0xa071,0xa073,0xa075,
- 0xa077,0xa078,0xa07b,0xa07d,0xa081,0xa082,0xa085,0xa089,
- 0xa091,0xa093,0xa095,0xa096,0xa097,0xa098,0xa0a1,0xa0a2,
- 0xa0a9,0xa0b7,0xa0e1,0xa0e2,0xa0e5,0xa0e9,0xa0eb,0xa0f1,
- 0xa0f3,0xa0f5,0xa0f7,0xa0f8,0xa0fd,0xa141,0xa142,0xa145,
- 0xa149,0xa151,0xa153,0xa155,0xa156,0xa157,0xa161,0xa162,
- 0xa165,0xa169,0xa175,0xa176,0xa177,0xa179,0xa181,0xa1a1,
- 0xa1a2,0xa1a4,0xa1a5,0xa1a9,0xa1ab,0xa1b1,0xa1b3,0xa1b5,
- 0xa1b7,0xa1c1,0xa1c5,0xa1d6,0xa1d7,0xa241,
-
- 0xa245,0xa249,0xa253,0xa255,0xa257,0xa261,0xa265,0xa269,
- 0xa273,0xa275,0xa281,0xa282,0xa283,0xa285,0xa288,0xa289,
- 0xa28a,0xa28b,0xa291,0xa293,0xa295,0xa297,0xa29b,0xa29d,
- 0xa2a1,0xa2a5,0xa2a9,0xa2b3,0xa2b5,0xa2c1,0xa2e1,0xa2e5,
- 0xa2e9,0xa341,0xa345,0xa349,0xa351,0xa355,0xa361,0xa365,
- 0xa369,0xa371,0xa375,0xa3a1,0xa3a2,0xa3a5,0xa3a8,0xa3a9,
- 0xa3ab,0xa3b1,0xa3b3,0xa3b5,0xa3b6,0xa3b7,0xa3b9,0xa3bb,
- 0xa461,0xa462,0xa463,0xa464,0xa465,0xa468,0xa469,0xa46a,
- 0xa46b,0xa46c,0xa471,0xa473,0xa475,0xa477,0xa47b,0xa481,
- 0xa482,0xa485,0xa489,0xa491,0xa493,0xa495,0xa496,0xa497,
- 0xa49b,0xa4a1,0xa4a2,0xa4a5,0xa4b3,0xa4e1,0xa4e2,0xa4e5,
- 0xa4e8,0xa4e9,0xa4eb,0xa4f1,0xa4f3,0xa4f5,
-
- 0xa4f7,0xa4f8,0xa541,0xa542,0xa545,0xa548,0xa549,0xa551,
- 0xa553,0xa555,0xa556,0xa557,0xa561,0xa562,0xa565,0xa569,
- 0xa573,0xa575,0xa576,0xa577,0xa57b,0xa581,0xa585,0xa5a1,
- 0xa5a2,0xa5a3,0xa5a5,0xa5a9,0xa5b1,0xa5b3,0xa5b5,0xa5b7,
- 0xa5c1,0xa5c5,0xa5d6,0xa5e1,0xa5f6,0xa641,0xa642,0xa645,
- 0xa649,0xa651,0xa653,0xa661,0xa665,0xa681,0xa682,0xa685,
- 0xa688,0xa689,0xa68a,0xa68b,0xa691,0xa693,0xa695,0xa697,
- 0xa69b,0xa69c,0xa6a1,0xa6a9,0xa6b6,0xa6c1,0xa6e1,0xa6e2,
- 0xa6e5,0xa6e9,0xa6f7,0xa741,0xa745,0xa749,0xa751,0xa755,
- 0xa757,0xa761,0xa762,0xa765,0xa769,0xa771,0xa773,0xa775,
- 0xa7a1,0xa7a2,0xa7a5,0xa7a9,0xa7ab,0xa7b1,0xa7b3,0xa7b5,
- 0xa7b7,0xa7b8,0xa7b9,0xa861,0xa862,0xa865,
-
- 0xa869,0xa86b,0xa871,0xa873,0xa875,0xa876,0xa877,0xa87d,
- 0xa881,0xa882,0xa885,0xa889,0xa891,0xa893,0xa895,0xa896,
- 0xa897,0xa8a1,0xa8a2,0xa8b1,0xa8e1,0xa8e2,0xa8e5,0xa8e8,
- 0xa8e9,0xa8f1,0xa8f5,0xa8f6,0xa8f7,0xa941,0xa957,0xa961,
- 0xa962,0xa971,0xa973,0xa975,0xa976,0xa977,0xa9a1,0xa9a2,
- 0xa9a5,0xa9a9,0xa9b1,0xa9b3,0xa9b7,0xaa41,0xaa61,0xaa77,
- 0xaa81,0xaa82,0xaa85,0xaa89,0xaa91,0xaa95,0xaa97,0xab41,
- 0xab57,0xab61,0xab65,0xab69,0xab71,0xab73,0xaba1,0xaba2,
- 0xaba5,0xaba9,0xabb1,0xabb3,0xabb5,0xabb7,0xac61,0xac62,
- 0xac64,0xac65,0xac68,0xac69,0xac6a,0xac6b,0xac71,0xac73,
- 0xac75,0xac76,0xac77,0xac7b,0xac81,0xac82,0xac85,0xac89,
- 0xac91,0xac93,0xac95,0xac96,0xac97,0xaca1,
-
- 0xaca2,0xaca5,0xaca9,0xacb1,0xacb3,0xacb5,0xacb7,0xacc1,
- 0xacc5,0xacc9,0xacd1,0xacd7,0xace1,0xace2,0xace3,0xace4,
- 0xace5,0xace8,0xace9,0xaceb,0xacec,0xacf1,0xacf3,0xacf5,
- 0xacf6,0xacf7,0xacfc,0xad41,0xad42,0xad45,0xad49,0xad51,
- 0xad53,0xad55,0xad56,0xad57,0xad61,0xad62,0xad65,0xad69,
- 0xad71,0xad73,0xad75,0xad76,0xad77,0xad81,0xad85,0xad89,
- 0xad97,0xada1,0xada2,0xada3,0xada5,0xada9,0xadab,0xadb1,
- 0xadb3,0xadb5,0xadb7,0xadbb,0xadc1,0xadc2,0xadc5,0xadc9,
- 0xadd7,0xade1,0xade5,0xade9,0xadf1,0xadf5,0xadf6,0xae41,
- 0xae45,0xae49,0xae51,0xae53,0xae55,0xae61,0xae62,0xae65,
- 0xae69,0xae71,0xae73,0xae75,0xae77,0xae81,0xae82,0xae85,
- 0xae88,0xae89,0xae91,0xae93,0xae95,0xae97,
-
- 0xae99,0xae9b,0xae9c,0xaea1,0xaeb6,0xaec1,0xaec2,0xaec5,
- 0xaec9,0xaed1,0xaed7,0xaee1,0xaee2,0xaee5,0xaee9,0xaef1,
- 0xaef3,0xaef5,0xaef7,0xaf41,0xaf42,0xaf49,0xaf51,0xaf55,
- 0xaf57,0xaf61,0xaf62,0xaf65,0xaf69,0xaf6a,0xaf71,0xaf73,
- 0xaf75,0xaf77,0xafa1,0xafa2,0xafa5,0xafa8,0xafa9,0xafb0,
- 0xafb1,0xafb3,0xafb5,0xafb7,0xafbc,0xb061,0xb062,0xb064,
- 0xb065,0xb069,0xb071,0xb073,0xb076,0xb077,0xb07d,0xb081,
- 0xb082,0xb085,0xb089,0xb091,0xb093,0xb096,0xb097,0xb0b7,
- 0xb0e1,0xb0e2,0xb0e5,0xb0e9,0xb0eb,0xb0f1,0xb0f3,0xb0f6,
- 0xb0f7,0xb141,0xb145,0xb149,0xb157,0xb1a1,0xb1a2,0xb1a5,
- 0xb1a8,0xb1a9,0xb1ab,0xb1b1,0xb1b3,0xb1b7,0xb1c1,0xb1c2,
- 0xb1c5,0xb1d6,0xb1e1,0xb1f6,0xb241,0xb245,
-
- 0xb249,0xb251,0xb253,0xb261,0xb281,0xb282,0xb285,0xb289,
- 0xb291,0xb293,0xb297,0xb2a1,0xb2b6,0xb2c1,0xb2e1,0xb2e5,
- 0xb357,0xb361,0xb362,0xb365,0xb369,0xb36b,0xb370,0xb371,
- 0xb373,0xb381,0xb385,0xb389,0xb391,0xb3a1,0xb3a2,0xb3a5,
- 0xb3a9,0xb3b1,0xb3b3,0xb3b5,0xb3b7,0xb461,0xb462,0xb465,
- 0xb466,0xb467,0xb469,0xb46a,0xb46b,0xb470,0xb471,0xb473,
- 0xb475,0xb476,0xb477,0xb47b,0xb47c,0xb481,0xb482,0xb485,
- 0xb489,0xb491,0xb493,0xb495,0xb496,0xb497,0xb4a1,0xb4a2,
- 0xb4a5,0xb4a9,0xb4ac,0xb4b1,0xb4b3,0xb4b5,0xb4b7,0xb4bb,
- 0xb4bd,0xb4c1,0xb4c5,0xb4c9,0xb4d3,0xb4e1,0xb4e2,0xb4e5,
- 0xb4e6,0xb4e8,0xb4e9,0xb4ea,0xb4eb,0xb4f1,0xb4f3,0xb4f4,
- 0xb4f5,0xb4f6,0xb4f7,0xb4f8,0xb4fa,0xb4fc,
-
- 0xb541,0xb542,0xb545,0xb549,0xb551,0xb553,0xb555,0xb557,
- 0xb561,0xb562,0xb563,0xb565,0xb569,0xb56b,0xb56c,0xb571,
- 0xb573,0xb574,0xb575,0xb576,0xb577,0xb57b,0xb57c,0xb57d,
- 0xb581,0xb585,0xb589,0xb591,0xb593,0xb595,0xb596,0xb5a1,
- 0xb5a2,0xb5a5,0xb5a9,0xb5aa,0xb5ab,0xb5ad,0xb5b0,0xb5b1,
- 0xb5b3,0xb5b5,0xb5b7,0xb5b9,0xb5c1,0xb5c2,0xb5c5,0xb5c9,
- 0xb5d1,0xb5d3,0xb5d5,0xb5d6,0xb5d7,0xb5e1,0xb5e2,0xb5e5,
- 0xb5f1,0xb5f5,0xb5f7,0xb641,0xb642,0xb645,0xb649,0xb651,
- 0xb653,0xb655,0xb657,0xb661,0xb662,0xb665,0xb669,0xb671,
- 0xb673,0xb675,0xb677,0xb681,0xb682,0xb685,0xb689,0xb68a,
- 0xb68b,0xb691,0xb693,0xb695,0xb697,0xb6a1,0xb6a2,0xb6a5,
- 0xb6a9,0xb6b1,0xb6b3,0xb6b6,0xb6b7,0xb6c1,
-
- 0xb6c2,0xb6c5,0xb6c9,0xb6d1,0xb6d3,0xb6d7,0xb6e1,0xb6e2,
- 0xb6e5,0xb6e9,0xb6f1,0xb6f3,0xb6f5,0xb6f7,0xb741,0xb742,
- 0xb745,0xb749,0xb751,0xb753,0xb755,0xb757,0xb759,0xb761,
- 0xb762,0xb765,0xb769,0xb76f,0xb771,0xb773,0xb775,0xb777,
- 0xb778,0xb779,0xb77a,0xb77b,0xb77c,0xb77d,0xb781,0xb785,
- 0xb789,0xb791,0xb795,0xb7a1,0xb7a2,0xb7a5,0xb7a9,0xb7aa,
- 0xb7ab,0xb7b0,0xb7b1,0xb7b3,0xb7b5,0xb7b6,0xb7b7,0xb7b8,
- 0xb7bc,0xb861,0xb862,0xb865,0xb867,0xb868,0xb869,0xb86b,
- 0xb871,0xb873,0xb875,0xb876,0xb877,0xb878,0xb881,0xb882,
- 0xb885,0xb889,0xb891,0xb893,0xb895,0xb896,0xb897,0xb8a1,
- 0xb8a2,0xb8a5,0xb8a7,0xb8a9,0xb8b1,0xb8b7,0xb8c1,0xb8c5,
- 0xb8c9,0xb8e1,0xb8e2,0xb8e5,0xb8e9,0xb8eb,
-
- 0xb8f1,0xb8f3,0xb8f5,0xb8f7,0xb8f8,0xb941,0xb942,0xb945,
- 0xb949,0xb951,0xb953,0xb955,0xb957,0xb961,0xb965,0xb969,
- 0xb971,0xb973,0xb976,0xb977,0xb981,0xb9a1,0xb9a2,0xb9a5,
- 0xb9a9,0xb9ab,0xb9b1,0xb9b3,0xb9b5,0xb9b7,0xb9b8,0xb9b9,
- 0xb9bd,0xb9c1,0xb9c2,0xb9c9,0xb9d3,0xb9d5,0xb9d7,0xb9e1,
- 0xb9f6,0xb9f7,0xba41,0xba45,0xba49,0xba51,0xba53,0xba55,
- 0xba57,0xba61,0xba62,0xba65,0xba77,0xba81,0xba82,0xba85,
- 0xba89,0xba8a,0xba8b,0xba91,0xba93,0xba95,0xba97,0xbaa1,
- 0xbab6,0xbac1,0xbae1,0xbae2,0xbae5,0xbae9,0xbaf1,0xbaf3,
- 0xbaf5,0xbb41,0xbb45,0xbb49,0xbb51,0xbb61,0xbb62,0xbb65,
- 0xbb69,0xbb71,0xbb73,0xbb75,0xbb77,0xbba1,0xbba2,0xbba5,
- 0xbba8,0xbba9,0xbbab,0xbbb1,0xbbb3,0xbbb5,
-
- 0xbbb7,0xbbb8,0xbbbb,0xbbbc,0xbc61,0xbc62,0xbc65,0xbc67,
- 0xbc69,0xbc6c,0xbc71,0xbc73,0xbc75,0xbc76,0xbc77,0xbc81,
- 0xbc82,0xbc85,0xbc89,0xbc91,0xbc93,0xbc95,0xbc96,0xbc97,
- 0xbca1,0xbca5,0xbcb7,0xbce1,0xbce2,0xbce5,0xbce9,0xbcf1,
- 0xbcf3,0xbcf5,0xbcf6,0xbcf7,0xbd41,0xbd57,0xbd61,0xbd76,
- 0xbda1,0xbda2,0xbda5,0xbda9,0xbdb1,0xbdb3,0xbdb5,0xbdb7,
- 0xbdb9,0xbdc1,0xbdc2,0xbdc9,0xbdd6,0xbde1,0xbdf6,0xbe41,
- 0xbe45,0xbe49,0xbe51,0xbe53,0xbe77,0xbe81,0xbe82,0xbe85,
- 0xbe89,0xbe91,0xbe93,0xbe97,0xbea1,0xbeb6,0xbeb7,0xbee1,
- 0xbf41,0xbf61,0xbf71,0xbf75,0xbf77,0xbfa1,0xbfa2,0xbfa5,
- 0xbfa9,0xbfb1,0xbfb3,0xbfb7,0xbfb8,0xbfbd,0xc061,0xc062,
- 0xc065,0xc067,0xc069,0xc071,0xc073,0xc075,
-
- 0xc076,0xc077,0xc078,0xc081,0xc082,0xc085,0xc089,0xc091,
- 0xc093,0xc095,0xc096,0xc097,0xc0a1,0xc0a5,0xc0a7,0xc0a9,
- 0xc0b1,0xc0b7,0xc0e1,0xc0e2,0xc0e5,0xc0e9,0xc0f1,0xc0f3,
- 0xc0f5,0xc0f6,0xc0f7,0xc141,0xc142,0xc145,0xc149,0xc151,
- 0xc153,0xc155,0xc157,0xc161,0xc165,0xc176,0xc181,0xc185,
- 0xc197,0xc1a1,0xc1a2,0xc1a5,0xc1a9,0xc1b1,0xc1b3,0xc1b5,
- 0xc1b7,0xc1c1,0xc1c5,0xc1c9,0xc1d7,0xc241,0xc245,0xc249,
- 0xc251,0xc253,0xc255,0xc257,0xc261,0xc271,0xc281,0xc282,
- 0xc285,0xc289,0xc291,0xc293,0xc295,0xc297,0xc2a1,0xc2b6,
- 0xc2c1,0xc2c5,0xc2e1,0xc2e5,0xc2e9,0xc2f1,0xc2f3,0xc2f5,
- 0xc2f7,0xc341,0xc345,0xc349,0xc351,0xc357,0xc361,0xc362,
- 0xc365,0xc369,0xc371,0xc373,0xc375,0xc377,
-
- 0xc3a1,0xc3a2,0xc3a5,0xc3a8,0xc3a9,0xc3aa,0xc3b1,0xc3b3,
- 0xc3b5,0xc3b7,0xc461,0xc462,0xc465,0xc469,0xc471,0xc473,
- 0xc475,0xc477,0xc481,0xc482,0xc485,0xc489,0xc491,0xc493,
- 0xc495,0xc496,0xc497,0xc4a1,0xc4a2,0xc4b7,0xc4e1,0xc4e2,
- 0xc4e5,0xc4e8,0xc4e9,0xc4f1,0xc4f3,0xc4f5,0xc4f6,0xc4f7,
- 0xc541,0xc542,0xc545,0xc549,0xc551,0xc553,0xc555,0xc557,
- 0xc561,0xc565,0xc569,0xc571,0xc573,0xc575,0xc576,0xc577,
- 0xc581,0xc5a1,0xc5a2,0xc5a5,0xc5a9,0xc5b1,0xc5b3,0xc5b5,
- 0xc5b7,0xc5c1,0xc5c2,0xc5c5,0xc5c9,0xc5d1,0xc5d7,0xc5e1,
- 0xc5f7,0xc641,0xc649,0xc661,0xc681,0xc682,0xc685,0xc689,
- 0xc691,0xc693,0xc695,0xc697,0xc6a1,0xc6a5,0xc6a9,0xc6b7,
- 0xc6c1,0xc6d7,0xc6e1,0xc6e2,0xc6e5,0xc6e9,
-
- 0xc6f1,0xc6f3,0xc6f5,0xc6f7,0xc741,0xc745,0xc749,0xc751,
- 0xc761,0xc762,0xc765,0xc769,0xc771,0xc773,0xc777,0xc7a1,
- 0xc7a2,0xc7a5,0xc7a9,0xc7b1,0xc7b3,0xc7b5,0xc7b7,0xc861,
- 0xc862,0xc865,0xc869,0xc86a,0xc871,0xc873,0xc875,0xc876,
- 0xc877,0xc881,0xc882,0xc885,0xc889,0xc891,0xc893,0xc895,
- 0xc896,0xc897,0xc8a1,0xc8b7,0xc8e1,0xc8e2,0xc8e5,0xc8e9,
- 0xc8eb,0xc8f1,0xc8f3,0xc8f5,0xc8f6,0xc8f7,0xc941,0xc942,
- 0xc945,0xc949,0xc951,0xc953,0xc955,0xc957,0xc961,0xc965,
- 0xc976,0xc981,0xc985,0xc9a1,0xc9a2,0xc9a5,0xc9a9,0xc9b1,
- 0xc9b3,0xc9b5,0xc9b7,0xc9bc,0xc9c1,0xc9c5,0xc9e1,0xca41,
- 0xca45,0xca55,0xca57,0xca61,0xca81,0xca82,0xca85,0xca89,
- 0xca91,0xca93,0xca95,0xca97,0xcaa1,0xcab6,
-
- 0xcac1,0xcae1,0xcae2,0xcae5,0xcae9,0xcaf1,0xcaf3,0xcaf7,
- 0xcb41,0xcb45,0xcb49,0xcb51,0xcb57,0xcb61,0xcb62,0xcb65,
- 0xcb68,0xcb69,0xcb6b,0xcb71,0xcb73,0xcb75,0xcb81,0xcb85,
- 0xcb89,0xcb91,0xcb93,0xcba1,0xcba2,0xcba5,0xcba9,0xcbb1,
- 0xcbb3,0xcbb5,0xcbb7,0xcc61,0xcc62,0xcc63,0xcc65,0xcc69,
- 0xcc6b,0xcc71,0xcc73,0xcc75,0xcc76,0xcc77,0xcc7b,0xcc81,
- 0xcc82,0xcc85,0xcc89,0xcc91,0xcc93,0xcc95,0xcc96,0xcc97,
- 0xcca1,0xcca2,0xcce1,0xcce2,0xcce5,0xcce9,0xccf1,0xccf3,
- 0xccf5,0xccf6,0xccf7,0xcd41,0xcd42,0xcd45,0xcd49,0xcd51,
- 0xcd53,0xcd55,0xcd57,0xcd61,0xcd65,0xcd69,0xcd71,0xcd73,
- 0xcd76,0xcd77,0xcd81,0xcd89,0xcd93,0xcd95,0xcda1,0xcda2,
- 0xcda5,0xcda9,0xcdb1,0xcdb3,0xcdb5,0xcdb7,
-
- 0xcdc1,0xcdd7,0xce41,0xce45,0xce61,0xce65,0xce69,0xce73,
- 0xce75,0xce81,0xce82,0xce85,0xce88,0xce89,0xce8b,0xce91,
- 0xce93,0xce95,0xce97,0xcea1,0xceb7,0xcee1,0xcee5,0xcee9,
- 0xcef1,0xcef5,0xcf41,0xcf45,0xcf49,0xcf51,0xcf55,0xcf57,
- 0xcf61,0xcf65,0xcf69,0xcf71,0xcf73,0xcf75,0xcfa1,0xcfa2,
- 0xcfa5,0xcfa9,0xcfb1,0xcfb3,0xcfb5,0xcfb7,0xd061,0xd062,
- 0xd065,0xd069,0xd06e,0xd071,0xd073,0xd075,0xd077,0xd081,
- 0xd082,0xd085,0xd089,0xd091,0xd093,0xd095,0xd096,0xd097,
- 0xd0a1,0xd0b7,0xd0e1,0xd0e2,0xd0e5,0xd0e9,0xd0eb,0xd0f1,
- 0xd0f3,0xd0f5,0xd0f7,0xd141,0xd142,0xd145,0xd149,0xd151,
- 0xd153,0xd155,0xd157,0xd161,0xd162,0xd165,0xd169,0xd171,
- 0xd173,0xd175,0xd176,0xd177,0xd181,0xd185,
-
- 0xd189,0xd193,0xd1a1,0xd1a2,0xd1a5,0xd1a9,0xd1ae,0xd1b1,
- 0xd1b3,0xd1b5,0xd1b7,0xd1bb,0xd1c1,0xd1c2,0xd1c5,0xd1c9,
- 0xd1d5,0xd1d7,0xd1e1,0xd1e2,0xd1e5,0xd1f5,0xd1f7,0xd241,
- 0xd242,0xd245,0xd249,0xd253,0xd255,0xd257,0xd261,0xd265,
- 0xd269,0xd273,0xd275,0xd281,0xd282,0xd285,0xd289,0xd28e,
- 0xd291,0xd295,0xd297,0xd2a1,0xd2a5,0xd2a9,0xd2b1,0xd2b7,
- 0xd2c1,0xd2c2,0xd2c5,0xd2c9,0xd2d7,0xd2e1,0xd2e2,0xd2e5,
- 0xd2e9,0xd2f1,0xd2f3,0xd2f5,0xd2f7,0xd341,0xd342,0xd345,
- 0xd349,0xd351,0xd355,0xd357,0xd361,0xd362,0xd365,0xd367,
- 0xd368,0xd369,0xd36a,0xd371,0xd373,0xd375,0xd377,0xd37b,
- 0xd381,0xd385,0xd389,0xd391,0xd393,0xd397,0xd3a1,0xd3a2,
- 0xd3a5,0xd3a9,0xd3b1,0xd3b3,0xd3b5,0xd3b7
-};
diff --git a/libthecore/src/main.cpp b/libthecore/src/main.cpp
index d5b8990..c7f96d3 100644
--- a/libthecore/src/main.cpp
+++ b/libthecore/src/main.cpp
@@ -61,8 +61,6 @@ int thecore_init(int fps, HEARTFUNC heartbeat_func)
if (!log_init() || !pid_init())
return false;
- GOST_Init();
-
thecore_heart = heart_new(1000000 / fps, heartbeat_func);
return true;
}
diff --git a/libthecore/src/memcpy.cpp b/libthecore/src/memcpy.cpp
deleted file mode 100644
index d6861f7..0000000
--- a/libthecore/src/memcpy.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- (c) Copyright 2000-2002 convergence integrated media GmbH.
- (c) Copyright 2002 convergence GmbH.
-
- All rights reserved.
-
- Written by Denis Oliver Kropp ,
- Andreas Hundt and
- Sven Neumann .
-
- Fast memcpy code was taken from xine (see below).
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-/*
- * Copyright (C) 2001 the xine project
- *
- * This file is part of xine, a unix video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- * These are the MMX/MMX2/SSE optimized versions of memcpy
- *
- * This code was adapted from Linux Kernel sources by Nick Kurshev to
- * the mplayer program. (http://mplayer.sourceforge.net)
- *
- * Miguel Freitas split the #ifdefs into several specialized functions that
- * are benchmarked at runtime by xine. Some original comments from Nick
- * have been preserved documenting some MMX/SSE oddities.
- * Also added kernel memcpy function that seems faster than glibc one.
- *
- */
-
-/* Original comments from mplayer (file: aclib.c) This part of code
- was taken by me from Linux-2.4.3 and slightly modified for MMX, MMX2,
- SSE instruction set. I have done it since linux uses page aligned
- blocks but mplayer uses weakly ordered data and original sources can
- not speedup them. Only using PREFETCHNTA and MOVNTQ together have
- effect!
-
- From IA-32 Intel Architecture Software Developer's Manual Volume 1,
-
- Order Number 245470:
- "10.4.6. Cacheability Control, Prefetch, and Memory Ordering Instructions"
-
- Data referenced by a program can be temporal (data will be used
- again) or non-temporal (data will be referenced once and not reused
- in the immediate future). To make efficient use of the processor's
- caches, it is generally desirable to cache temporal data and not
- cache non-temporal data. Overloading the processor's caches with
- non-temporal data is sometimes referred to as "polluting the
- caches". The non-temporal data is written to memory with
- Write-Combining semantics.
-
- The PREFETCHh instructions permits a program to load data into the
- processor at a suggested cache level, so that it is closer to the
- processors load and store unit when it is needed. If the data is
- already present in a level of the cache hierarchy that is closer to
- the processor, the PREFETCHh instruction will not result in any data
- movement. But we should you PREFETCHNTA: Non-temporal data fetch
- data into location close to the processor, minimizing cache
- pollution.
-
- The MOVNTQ (store quadword using non-temporal hint) instruction
- stores packed integer data from an MMX register to memory, using a
- non-temporal hint. The MOVNTPS (store packed single-precision
- floating-point values using non-temporal hint) instruction stores
- packed floating-point data from an XMM register to memory, using a
- non-temporal hint.
-
- The SFENCE (Store Fence) instruction controls write ordering by
- creating a fence for memory store operations. This instruction
- guarantees that the results of every store instruction that precedes
- the store fence in program order is globally visible before any
- store instruction that follows the fence. The SFENCE instruction
- provides an efficient way of ensuring ordering between procedures
- that produce weakly-ordered data and procedures that consume that
- data.
-
- If you have questions please contact with me: Nick Kurshev:
- nickols_k@mail.ru.
-*/
-
-/* mmx v.1 Note: Since we added alignment of destinition it speedups
- of memory copying on PentMMX, Celeron-1 and P2 upto 12% versus
- standard (non MMX-optimized) version.
- Note: on K6-2+ it speedups memory copying upto 25% and
- on K7 and P3 about 500% (5 times).
-*/
-
-/* Additional notes on gcc assembly and processors: [MF]
- prefetch is specific for AMD processors, the intel ones should be
- prefetch0, prefetch1, prefetch2 which are not recognized by my gcc.
- prefetchnta is supported both on athlon and pentium 3.
-
- therefore i will take off prefetchnta instructions from the mmx1
- version to avoid problems on pentium mmx and k6-2.
-
- quote of the day:
- "Using prefetches efficiently is more of an art than a science"
-*/
-
-#ifndef __WIN32__
-
-#include
-void *(*thecore_memcpy) (void * to, const void * from, size_t len) = memcpy;
-
-#endif
diff --git a/libthecore/src/socket.cpp b/libthecore/src/socket.cpp
index 3c9afae..cfc3f2f 100644
--- a/libthecore/src/socket.cpp
+++ b/libthecore/src/socket.cpp
@@ -266,7 +266,7 @@ socket_t socket_connect(const char* host, WORD port)
return -1;
}
- thecore_memcpy((char* ) &server_addr.sin_addr, hp->h_addr, sizeof(server_addr.sin_addr));
+ memcpy((char* ) &server_addr.sin_addr, hp->h_addr, sizeof(server_addr.sin_addr));
}
server_addr.sin_family = AF_INET;
diff --git a/libthecore/src/tea.cpp b/libthecore/src/tea.cpp
deleted file mode 100644
index 6188773..0000000
--- a/libthecore/src/tea.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Filename: tea.c
- * Description: TEA ȣȭ
- *
- * Author: (aka. , Cronan), ۿ (aka. myevan, ڷ)
- */
-#include "stdafx.h"
-
-/*
- * TEA Encryption Module Instruction
- * Edited by aka. , Cronan
- *
- * void tea_code(const DWORD sz, const DWORD sy, const DWORD *key, DWORD *dest)
- * void tea_decode(const DWORD sz, const DWORD sy, const DWORD *key, DWORD *dest)
- * 8Ʈ ȣ/ȣȭ Ҷ ȴ. key 16 Ʈ Ѵ.
- * sz, sy 8Ʈ Ѵ.
- *
- * int tea_decrypt(DWORD *dest, const DWORD *src, const DWORD *key, int size);
- * int tea_encrypt(DWORD *dest, const DWORD *src, const DWORD *key, int size);
- * Ѳ 8 Ʈ ̻ ȣ/ȣȭ Ҷ Ѵ. size
- * 8 ƴϸ 8 ũ⸦ "÷" ȣȭ Ѵ.
- *
- * ex. tea_code(pdwSrc[1], pdwSrc[0], pdwKey, pdwDest);
- * tea_decrypt(pdwDest, pdwSrc, pdwKey, nSize);
- */
-
-#define TEA_ROUND 32 // 32 ϸ, .
-#define DELTA 0x9E3779B9 // DELTA ٲ .
-
-char tea_nilbuf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-INLINE void tea_code(const DWORD sz, const DWORD sy, const DWORD *key, DWORD *dest)
-{
- register DWORD y = sy, z = sz, sum = 0;
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 1
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 2
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 3
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 4
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 5
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 6
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 7
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 8
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 9
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 10
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 11
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 12
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 13
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 14
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 15
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 16
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 17
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 18
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 19
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 20
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 21
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 22
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 23
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 24
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 25
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 26
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 27
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 28
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 29
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 30
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 31
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); // 32
- sum += DELTA;
- z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]);
-
- *(dest++) = y;
- *dest = z;
-}
-
-INLINE void tea_decode(const DWORD sz, const DWORD sy, const DWORD *key, DWORD *dest)
-{
- register DWORD y = sy, z = sz, sum = DELTA * TEA_ROUND;
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 1
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 2
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 3
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 4
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 5
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 6
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 7
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 8
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 9
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 10
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 11
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 12
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 13
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 14
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 15
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 16
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 17
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 18
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 19
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 20
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 21
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 22
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 23
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 24
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 25
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 26
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 27
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 28
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 29
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 30
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 31
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); // 32
- sum -= DELTA;
- y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]);
-
- *(dest++) = y;
- *dest = z;
-}
-
-int TEA_Encrypt(DWORD *dest, const DWORD *src, const DWORD * key, int size)
-{
- int i;
- int resize;
-
- if (size % 8 != 0)
- {
- resize = size + 8 - (size % 8);
- memset((char *) src + size, 0, resize - size);
- }
- else
- resize = size;
-
- for (i = 0; i < resize >> 3; i++, dest += 2, src += 2)
- tea_code(*(src + 1), *src, key, dest);
-
- return (resize);
-}
-
-int TEA_Decrypt(DWORD *dest, const DWORD *src, const DWORD * key, int size)
-{
- int i;
- int resize;
-
- if (size % 8 != 0)
- resize = size + 8 - (size % 8);
- else
- resize = size;
-
- for (i = 0; i < resize >> 3; i++, dest += 2, src += 2)
- tea_decode(*(src + 1), *src, key, dest);
-
- return (resize);
-}
-
diff --git a/libthecore/src/tea.s b/libthecore/src/tea.s
deleted file mode 100644
index 220350b..0000000
--- a/libthecore/src/tea.s
+++ /dev/null
@@ -1,8682 +0,0 @@
- .file "tea.c"
- .file 1 "tea.c"
- .section .debug_abbrev,"",@progbits
-.Ldebug_abbrev0:
- .section .debug_info,"",@progbits
-.Ldebug_info0:
- .section .debug_line,"",@progbits
-.Ldebug_line0:
- .text
-.Ltext0:
- .file 2 "/usr/include/machine/_types.h"
- .file 3 "/usr/include/sys/_types.h"
- .file 4 "/usr/include/stdio.h"
- .file 5 "/usr/include/stdlib.h"
- .file 6 "/usr/include/sys/types.h"
- .file 7 "/usr/include/sys/_sigset.h"
- .file 8 "/usr/include/sys/_timeval.h"
- .file 9 "/usr/include/sys/timespec.h"
- .file 10 "/usr/include/sys/select.h"
- .file 11 "/usr/include/fcntl.h"
- .file 12 "/usr/include/runetype.h"
- .file 13 "/usr/include/sys/dirent.h"
- .file 14 "/usr/include/dirent.h"
- .file 15 "/usr/include/sys/time.h"
- .file 16 "/usr/include/time.h"
- .file 17 "/usr/include/sys/stat.h"
- .file 18 "/usr/include/sys/_iovec.h"
- .file 19 "/usr/include/sys/socket.h"
- .file 20 "/usr/include/netinet/in.h"
- .file 21 "/usr/include/netinet6/in6.h"
- .file 22 "/usr/include/netdb.h"
- .file 23 "/usr/include/machine/signal.h"
- .file 24 "/usr/include/sys/signal.h"
- .file 25 "/usr/include/sched.h"
- .file 26 "/usr/include/pthread.h"
- .file 27 "/usr/include/semaphore.h"
- .file 28 "/usr/include/sys/event.h"
- .file 29 "../include/typedef.h"
- .file 30 "../include/heart.h"
- .file 31 "../include/fdwatch.h"
- .file 32 "../include/buffer.h"
- .file 33 "../include/main.h"
- .file 34 "../include/hash.h"
-.globl tea_nilbuf
- .section .bss
- .type tea_nilbuf, @object
- .size tea_nilbuf, 8
-tea_nilbuf:
- .zero 8
- .text
- .p2align 4,,15
-.globl tea_code
- .type tea_code, @function
-tea_code:
-.LFB19:
- .loc 1 33 0
- pushl %ebp
-.LCFI0:
- movl %esp, %ebp
-.LCFI1:
- pushl %edi
-.LCFI2:
- pushl %esi
-.LCFI3:
- pushl %ebx
-.LCFI4:
- subl $12, %esp
-.LCFI5:
- movl 8(%ebp), %ecx
- movl 16(%ebp), %esi
- .loc 1 36 0
- movl %ecx, %edx
- movl %ecx, %eax
-.LBB2:
- shrl $5, %eax
- .loc 1 40 0
- movl 4(%esi), %edi
- .loc 1 36 0
- sall $4, %edx
- xorl %eax, %edx
- movl (%esi), %eax
- addl %ecx, %edx
- movl %eax, -16(%ebp)
- xorl %eax, %edx
- movl 12(%ebp), %eax
- addl %eax, %edx
- .loc 1 38 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl 12(%esi), %ebx
- addl %edx, %eax
- .loc 1 42 0
- movl 8(%esi), %esi
- .loc 1 38 0
- movl %ebx, -20(%ebp)
- subl $1640531527, %ebx
- xorl %ebx, %eax
- .loc 1 42 0
- movl %esi, -24(%ebp)
- .loc 1 38 0
- addl %eax, %ecx
- .loc 1 40 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- .loc 1 42 0
- addl $1013904242, %esi
- .loc 1 40 0
- addl %ecx, %eax
- leal -1640531527(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 42 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 44 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 50 0
- movl -16(%ebp), %esi
- .loc 1 46 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- .loc 1 50 0
- addl $2027808484, %esi
- .loc 1 46 0
- addl %edx, %eax
- leal -626627285(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 48 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $626627285, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 50 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 52 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 78 0
- movl -20(%ebp), %esi
- .loc 1 54 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $387276957, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 56 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %ecx, %eax
- leal 387276957(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 58 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $1253254570, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 60 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $1253254570, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 62 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $1401181199, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 64 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $1401181199, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 66 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- leal -239350328(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 68 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $239350328, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 70 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- subl $1879881855, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 72 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -1879881855(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 74 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $774553914, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 76 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- .loc 1 78 0
- subl $865977613, %esi
- .loc 1 76 0
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- addl $774553914, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 78 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 80 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 86 0
- leal 147926629(%edi), %esi
- .loc 1 82 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $1788458156, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 84 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- addl $1788458156, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 86 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 88 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 90 0
- movl %edx, %eax
- movl %edx, %ebx
- .loc 1 114 0
- movl -16(%ebp), %esi
- .loc 1 90 0
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -1492604898(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 92 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $1492604898, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 94 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $1161830871, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 96 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $1161830871, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 98 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $478700656, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 100 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $478700656, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 102 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- subl $2119232183, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 104 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -2119232183(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 114 0
- addl $1549107828, %esi
- .loc 1 106 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- leal 535203586(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 108 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- addl $535203586, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 110 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -1105327941(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 112 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $1105327941, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 114 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 116 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 122 0
- movl -24(%ebp), %esi
- .loc 1 118 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- .loc 1 122 0
- subl $1731955226, %esi
- .loc 1 118 0
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $91423699, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 120 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -91423699(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 122 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 124 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 126 0
- movl %edx, %eax
- movl %edx, %ebx
- .loc 1 158 0
- movl -20(%ebp), %esi
- .loc 1 126 0
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal 922480543(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 128 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $922480543, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 130 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- leal -718050984(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 132 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $718050984, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 134 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $1936384785, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 136 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal 1936384785(%edi), %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 138 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- addl $295853258, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 140 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- addl $295853258, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 142 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- subl $1344678269, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 144 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $1344678269, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 150 0
- subl $330774027, %edi
- .loc 1 146 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $1309757500, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 148 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- addl $1309757500, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 150 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %edi, %eax
- addl %eax, %ecx
- .loc 1 152 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %edi, %eax
- addl %eax, %edx
- .loc 1 154 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- subl $1971305554, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 158 0
- addl $683130215, %esi
- .loc 1 156 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $1971305554, %ebx
- xorl %ebx, %eax
- addl %eax, %edx
- .loc 1 158 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- addl %eax, %ecx
- .loc 1 160 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- addl %eax, %edx
- .loc 1 162 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- subl $957401312, %ebx
- xorl %ebx, %eax
- addl %eax, %ecx
- .loc 1 164 0
- movl 20(%ebp), %eax
- movl %edx, (%eax)
- .loc 1 165 0
- movl %ecx, 4(%eax)
- .loc 1 166 0
- addl $12, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
- ret
-.LBE2:
-.LFE19:
- .size tea_code, .-tea_code
- .p2align 4,,15
-.globl tea_decode
- .type tea_decode, @function
-tea_decode:
-.LFB21:
- .loc 1 169 0
- pushl %ebp
-.LCFI6:
- movl %esp, %ebp
-.LCFI7:
- pushl %edi
-.LCFI8:
- pushl %esi
-.LCFI9:
- pushl %ebx
-.LCFI10:
- subl $12, %esp
-.LCFI11:
- movl 12(%ebp), %edx
- movl 16(%ebp), %edi
- movl 8(%ebp), %ecx
- .loc 1 172 0
- movl %edx, %eax
- movl %edx, %ebx
-.LBB3:
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl 8(%edi), %ebx
- addl %edx, %eax
- movl %ebx, -16(%ebp)
- subl $957401312, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 174 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl 12(%edi), %ebx
- addl %ecx, %eax
- movl %ebx, %esi
- movl %ebx, -20(%ebp)
- addl $683130215, %esi
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 176 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 178 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $1971305554, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 180 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl (%edi), %ebx
- addl %edx, %eax
- .loc 1 182 0
- movl 4(%edi), %edi
- .loc 1 180 0
- movl %ebx, -24(%ebp)
- subl $1971305554, %ebx
- .loc 1 182 0
- leal -330774027(%edi), %esi
- .loc 1 180 0
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 182 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 184 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 186 0
- movl %ecx, %eax
- movl %ecx, %ebx
- .loc 1 210 0
- movl -16(%ebp), %esi
- .loc 1 186 0
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- addl $1309757500, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 188 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $1309757500, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 190 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $1344678269, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 192 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- subl $1344678269, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 194 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- addl $295853258, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 196 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- addl $295853258, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 198 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal 1936384785(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 200 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $1936384785, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 202 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $718050984, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 204 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -718050984(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 206 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $922480543, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 208 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal 922480543(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 210 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- subl $1731955226, %esi
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 212 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 214 0
- movl %ecx, %eax
- movl %ecx, %ebx
- .loc 1 218 0
- movl -24(%ebp), %esi
- .loc 1 214 0
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -91423699(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 218 0
- addl $1549107828, %esi
- .loc 1 216 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $91423699, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 218 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 220 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 246 0
- leal 147926629(%edi), %esi
- .loc 1 222 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $1105327941, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 224 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -1105327941(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 226 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- addl $535203586, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 228 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal 535203586(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 230 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -2119232183(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 232 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- subl $2119232183, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 234 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $478700656, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 236 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $478700656, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 238 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $1161830871, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 240 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $1161830871, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 242 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $1492604898, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 244 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -1492604898(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 246 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 248 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 254 0
- movl -20(%ebp), %esi
- .loc 1 250 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- addl $1788458156, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 254 0
- subl $865977613, %esi
- .loc 1 252 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $1788458156, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 254 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 256 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 282 0
- movl -24(%ebp), %esi
- .loc 1 258 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- addl $774553914, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 260 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- addl $774553914, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 262 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal -1879881855(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 264 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- subl $1879881855, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 266 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- subl $239350328, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 268 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -239350328(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 270 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- addl $1401181199, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 272 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %edx, %eax
- addl $1401181199, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 274 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -16(%ebp), %ebx
- addl %ecx, %eax
- subl $1253254570, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 276 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $1253254570, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 278 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- leal 387276957(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 280 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %edx, %eax
- .loc 1 282 0
- addl $2027808484, %esi
- .loc 1 280 0
- addl $387276957, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 282 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 284 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 290 0
- movl -16(%ebp), %esi
- .loc 1 286 0
- movl %ecx, %eax
- movl %ecx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %ecx, %eax
- subl $626627285, %ebx
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 288 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- leal -626627285(%edi), %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 290 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- addl $1013904242, %esi
- .loc 1 294 0
- subl $1640531527, %edi
- .loc 1 290 0
- xorl %esi, %eax
- subl %eax, %edx
- .loc 1 292 0
- movl %edx, %eax
- movl %edx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %edx, %eax
- xorl %esi, %eax
- subl %eax, %ecx
- .loc 1 294 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- addl %ecx, %eax
- xorl %edi, %eax
- subl %eax, %edx
- .loc 1 296 0
- movl %edx, %eax
- movl %edx, %ebx
- sall $4, %eax
- shrl $5, %ebx
- xorl %ebx, %eax
- movl -20(%ebp), %ebx
- addl %edx, %eax
- subl $1640531527, %ebx
- xorl %ebx, %eax
- subl %eax, %ecx
- .loc 1 298 0
- movl %ecx, %eax
- movl %ecx, %ebx
- shrl $5, %ebx
- sall $4, %eax
- xorl %ebx, %eax
- movl -24(%ebp), %ebx
- addl %ecx, %eax
- xorl %ebx, %eax
- subl %eax, %edx
- .loc 1 300 0
- movl 20(%ebp), %eax
- movl %edx, (%eax)
- .loc 1 301 0
- movl %ecx, 4(%eax)
- .loc 1 302 0
- addl $12, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
- ret
-.LBE3:
-.LFE21:
- .size tea_decode, .-tea_decode
- .p2align 4,,15
-.globl tea_encrypt
- .type tea_encrypt, @function
-tea_encrypt:
-.LFB23:
- .loc 1 305 0
- pushl %ebp
-.LCFI12:
- movl %esp, %ebp
-.LCFI13:
- pushl %edi
-.LCFI14:
- pushl %esi
-.LCFI15:
- pushl %ebx
-.LCFI16:
- subl $28, %esp
-.LCFI17:
- movl 20(%ebp), %edx
- movl 8(%ebp), %edi
- movl 12(%ebp), %esi
- .loc 1 315 0
-.LBB4:
- testb $7, %dl
- movl %edx, -16(%ebp)
- je .L6
- .loc 1 311 0
- testl %edx, %edx
- movl %edx, %eax
- js .L14
-.L5:
- andl $-8, %eax
- addl $8, %eax
- movl %eax, -16(%ebp)
- .loc 1 312 0
- subl %edx, %eax
- leal (%edx,%esi), %edx
- movl %eax, 8(%esp)
- xorl %eax, %eax
- movl %eax, 4(%esp)
- movl %edx, (%esp)
- call memset
-.L6:
- .loc 1 317 0
- movl -16(%ebp), %eax
- sarl $3, %eax
- testl %eax, %eax
- jle .L13
- movl %eax, %ebx
- .p2align 4,,15
-.L11:
- .loc 1 318 0
- movl %edi, 12(%esp)
- movl 16(%ebp), %eax
- .loc 1 317 0
- addl $8, %edi
- .loc 1 318 0
- movl %eax, 8(%esp)
- movl (%esi), %eax
- movl %eax, 4(%esp)
- movl 4(%esi), %eax
- .loc 1 317 0
- addl $8, %esi
- .loc 1 318 0
- movl %eax, (%esp)
- call tea_code
- .loc 1 317 0
- decl %ebx
- jne .L11
-.L13:
- .loc 1 321 0
-.LBE4:
- movl -16(%ebp), %eax
- addl $28, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
- ret
-.L14:
-.LBB5:
- leal 7(%edx), %eax
- jmp .L5
-.LBE5:
-.LFE23:
- .size tea_encrypt, .-tea_encrypt
- .p2align 4,,15
-.globl tea_decrypt
- .type tea_decrypt, @function
-tea_decrypt:
-.LFB25:
- .loc 1 324 0
- pushl %ebp
-.LCFI18:
- movl %esp, %ebp
-.LCFI19:
- pushl %edi
-.LCFI20:
- pushl %esi
-.LCFI21:
- pushl %ebx
-.LCFI22:
- subl $28, %esp
-.LCFI23:
- movl 20(%ebp), %edx
- movl 8(%ebp), %edi
- movl 12(%ebp), %esi
- .loc 1 331 0
-.LBB6:
- testb $7, %dl
- movl %edx, -16(%ebp)
- je .L18
- .loc 1 329 0
- testl %edx, %edx
- movl %edx, %eax
- js .L26
-.L17:
- andl $-8, %eax
- addl $8, %eax
- movl %eax, -16(%ebp)
-.L18:
- .loc 1 333 0
- movl -16(%ebp), %eax
- sarl $3, %eax
- testl %eax, %eax
- jle .L25
- movl %eax, %ebx
- .p2align 4,,15
-.L23:
- .loc 1 334 0
- movl %edi, 12(%esp)
- movl 16(%ebp), %eax
- .loc 1 333 0
- addl $8, %edi
- .loc 1 334 0
- movl %eax, 8(%esp)
- movl (%esi), %eax
- movl %eax, 4(%esp)
- movl 4(%esi), %eax
- .loc 1 333 0
- addl $8, %esi
- .loc 1 334 0
- movl %eax, (%esp)
- call tea_decode
- .loc 1 333 0
- decl %ebx
- jne .L23
-.L25:
- .loc 1 337 0
-.LBE6:
- movl -16(%ebp), %eax
- addl $28, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
- ret
-.L26:
-.LBB7:
- leal 7(%edx), %eax
- jmp .L17
-.LBE7:
-.LFE25:
- .size tea_decrypt, .-tea_decrypt
- .section .debug_frame,"",@progbits
-.Lframe0:
- .long .LECIE0-.LSCIE0
-.LSCIE0:
- .long 0xffffffff
- .byte 0x1
- .string ""
- .uleb128 0x1
- .sleb128 -4
- .byte 0x8
- .byte 0xc
- .uleb128 0x4
- .uleb128 0x4
- .byte 0x88
- .uleb128 0x1
- .p2align 2
-.LECIE0:
-.LSFDE0:
- .long .LEFDE0-.LASFDE0
-.LASFDE0:
- .long .Lframe0
- .long .LFB19
- .long .LFE19-.LFB19
- .byte 0x4
- .long .LCFI0-.LFB19
- .byte 0xe
- .uleb128 0x8
- .byte 0x85
- .uleb128 0x2
- .byte 0x4
- .long .LCFI1-.LCFI0
- .byte 0xd
- .uleb128 0x5
- .byte 0x4
- .long .LCFI5-.LCFI1
- .byte 0x83
- .uleb128 0x5
- .byte 0x86
- .uleb128 0x4
- .byte 0x87
- .uleb128 0x3
- .p2align 2
-.LEFDE0:
-.LSFDE2:
- .long .LEFDE2-.LASFDE2
-.LASFDE2:
- .long .Lframe0
- .long .LFB21
- .long .LFE21-.LFB21
- .byte 0x4
- .long .LCFI6-.LFB21
- .byte 0xe
- .uleb128 0x8
- .byte 0x85
- .uleb128 0x2
- .byte 0x4
- .long .LCFI7-.LCFI6
- .byte 0xd
- .uleb128 0x5
- .byte 0x4
- .long .LCFI11-.LCFI7
- .byte 0x83
- .uleb128 0x5
- .byte 0x86
- .uleb128 0x4
- .byte 0x87
- .uleb128 0x3
- .p2align 2
-.LEFDE2:
-.LSFDE4:
- .long .LEFDE4-.LASFDE4
-.LASFDE4:
- .long .Lframe0
- .long .LFB23
- .long .LFE23-.LFB23
- .byte 0x4
- .long .LCFI12-.LFB23
- .byte 0xe
- .uleb128 0x8
- .byte 0x85
- .uleb128 0x2
- .byte 0x4
- .long .LCFI13-.LCFI12
- .byte 0xd
- .uleb128 0x5
- .byte 0x4
- .long .LCFI17-.LCFI13
- .byte 0x83
- .uleb128 0x5
- .byte 0x86
- .uleb128 0x4
- .byte 0x87
- .uleb128 0x3
- .p2align 2
-.LEFDE4:
-.LSFDE6:
- .long .LEFDE6-.LASFDE6
-.LASFDE6:
- .long .Lframe0
- .long .LFB25
- .long .LFE25-.LFB25
- .byte 0x4
- .long .LCFI18-.LFB25
- .byte 0xe
- .uleb128 0x8
- .byte 0x85
- .uleb128 0x2
- .byte 0x4
- .long .LCFI19-.LCFI18
- .byte 0xd
- .uleb128 0x5
- .byte 0x4
- .long .LCFI23-.LCFI19
- .byte 0x83
- .uleb128 0x5
- .byte 0x86
- .uleb128 0x4
- .byte 0x87
- .uleb128 0x3
- .p2align 2
-.LEFDE6:
- .text
-.Letext0:
- .section .debug_info
- .long 0x25ff
- .value 0x2
- .long .Ldebug_abbrev0
- .byte 0x4
- .uleb128 0x1
- .long .Ldebug_line0
- .long .Letext0
- .long .Ltext0
- .long .LC587
- .long .LC588
- .long .LC589
- .byte 0x1
- .uleb128 0x2
- .long .LC0
- .byte 0x2
- .byte 0x2d
- .long 0x30
- .uleb128 0x3
- .long .LC2
- .byte 0x1
- .byte 0x6
- .uleb128 0x2
- .long .LC1
- .byte 0x2
- .byte 0x2e
- .long 0x42
- .uleb128 0x3
- .long .LC3
- .byte 0x1
- .byte 0x8
- .uleb128 0x2
- .long .LC4
- .byte 0x2
- .byte 0x2f
- .long 0x54
- .uleb128 0x3
- .long .LC5
- .byte 0x2
- .byte 0x5
- .uleb128 0x2
- .long .LC6
- .byte 0x2
- .byte 0x30
- .long 0x66
- .uleb128 0x3
- .long .LC7
- .byte 0x2
- .byte 0x7
- .uleb128 0x2
- .long .LC8
- .byte 0x2
- .byte 0x31
- .long 0x78
- .uleb128 0x4
- .string "int"
- .byte 0x4
- .byte 0x5
- .uleb128 0x2
- .long .LC9
- .byte 0x2
- .byte 0x32
- .long 0x8a
- .uleb128 0x3
- .long .LC10
- .byte 0x4
- .byte 0x7
- .uleb128 0x2
- .long .LC11
- .byte 0x2
- .byte 0x3a
- .long 0x9c
- .uleb128 0x3
- .long .LC12
- .byte 0x8
- .byte 0x5
- .uleb128 0x2
- .long .LC13
- .byte 0x2
- .byte 0x3b
- .long 0xae
- .uleb128 0x3
- .long .LC14
- .byte 0x8
- .byte 0x7
- .uleb128 0x2
- .long .LC15
- .byte 0x2
- .byte 0x46
- .long 0xc0
- .uleb128 0x3
- .long .LC16
- .byte 0x4
- .byte 0x7
- .uleb128 0x2
- .long .LC17
- .byte 0x2
- .byte 0x47
- .long 0x6d
- .uleb128 0x2
- .long .LC18
- .byte 0x2
- .byte 0x48
- .long 0xdd
- .uleb128 0x3
- .long .LC19
- .byte 0x8
- .byte 0x4
- .uleb128 0x2
- .long .LC20
- .byte 0x2
- .byte 0x49
- .long 0xdd
- .uleb128 0x2
- .long .LC21
- .byte 0x2
- .byte 0x4a
- .long 0x6d
- .uleb128 0x2
- .long .LC22
- .byte 0x2
- .byte 0x4b
- .long 0x91
- .uleb128 0x2
- .long .LC23
- .byte 0x2
- .byte 0x4c
- .long 0x6d
- .uleb128 0x2
- .long .LC24
- .byte 0x2
- .byte 0x4d
- .long 0x6d
- .uleb128 0x2
- .long .LC25
- .byte 0x2
- .byte 0x4e
- .long 0x6d
- .uleb128 0x2
- .long .LC26
- .byte 0x2
- .byte 0x4f
- .long 0x6d
- .uleb128 0x2
- .long .LC27
- .byte 0x2
- .byte 0x50
- .long 0x91
- .uleb128 0x2
- .long .LC28
- .byte 0x2
- .byte 0x51
- .long 0x25
- .uleb128 0x2
- .long .LC29
- .byte 0x2
- .byte 0x52
- .long 0x49
- .uleb128 0x2
- .long .LC30
- .byte 0x2
- .byte 0x53
- .long 0x6d
- .uleb128 0x2
- .long .LC31
- .byte 0x2
- .byte 0x54
- .long 0x91
- .uleb128 0x2
- .long .LC32
- .byte 0x2
- .byte 0x55
- .long 0x6d
- .uleb128 0x2
- .long .LC33
- .byte 0x2
- .byte 0x56
- .long 0x6d
- .uleb128 0x2
- .long .LC34
- .byte 0x2
- .byte 0x57
- .long 0x6d
- .uleb128 0x2
- .long .LC35
- .byte 0x2
- .byte 0x58
- .long 0x7f
- .uleb128 0x2
- .long .LC36
- .byte 0x2
- .byte 0x59
- .long 0x6d
- .uleb128 0x2
- .long .LC37
- .byte 0x2
- .byte 0x5a
- .long 0x6d
- .uleb128 0x2
- .long .LC38
- .byte 0x2
- .byte 0x5b
- .long 0x7f
- .uleb128 0x2
- .long .LC39
- .byte 0x2
- .byte 0x5c
- .long 0xa3
- .uleb128 0x2
- .long .LC40
- .byte 0x2
- .byte 0x5d
- .long 0x7f
- .uleb128 0x2
- .long .LC41
- .byte 0x2
- .byte 0x5e
- .long 0x7f
- .uleb128 0x2
- .long .LC42
- .byte 0x2
- .byte 0x5f
- .long 0x7f
- .uleb128 0x2
- .long .LC43
- .byte 0x2
- .byte 0x60
- .long 0x7f
- .uleb128 0x2
- .long .LC44
- .byte 0x2
- .byte 0x61
- .long 0xa3
- .uleb128 0x2
- .long .LC45
- .byte 0x2
- .byte 0x62
- .long 0x37
- .uleb128 0x2
- .long .LC46
- .byte 0x2
- .byte 0x63
- .long 0x5b
- .uleb128 0x2
- .long .LC47
- .byte 0x2
- .byte 0x64
- .long 0x7f
- .uleb128 0x2
- .long .LC48
- .byte 0x2
- .byte 0x65
- .long 0xa3
- .uleb128 0x2
- .long .LC49
- .byte 0x2
- .byte 0x66
- .long 0x7f
- .uleb128 0x2
- .long .LC50
- .byte 0x2
- .byte 0x67
- .long 0x7f
- .uleb128 0x2
- .long .LC51
- .byte 0x2
- .byte 0x68
- .long 0x91
- .uleb128 0x2
- .long .LC52
- .byte 0x2
- .byte 0x6c
- .long 0x7f
- .uleb128 0x2
- .long .LC53
- .byte 0x2
- .byte 0x6e
- .long 0xa3
- .uleb128 0x2
- .long .LC54
- .byte 0x2
- .byte 0x6f
- .long 0x7f
- .uleb128 0x2
- .long .LC55
- .byte 0x2
- .byte 0x75
- .long 0x270
- .uleb128 0x5
- .byte 0x4
- .long 0x276
- .uleb128 0x3
- .long .LC56
- .byte 0x1
- .byte 0x6
- .uleb128 0x2
- .long .LC57
- .byte 0x2
- .byte 0x7b
- .long 0x265
- .uleb128 0x2
- .long .LC58
- .byte 0x3
- .byte 0x26
- .long 0x6d
- .uleb128 0x2
- .long .LC59
- .byte 0x3
- .byte 0x27
- .long 0x7f
- .uleb128 0x2
- .long .LC60
- .byte 0x3
- .byte 0x28
- .long 0xa3
- .uleb128 0x2
- .long .LC61
- .byte 0x3
- .byte 0x29
- .long 0xa3
- .uleb128 0x2
- .long .LC62
- .byte 0x3
- .byte 0x2a
- .long 0x7f
- .uleb128 0x2
- .long .LC63
- .byte 0x3
- .byte 0x2b
- .long 0x91
- .uleb128 0x2
- .long .LC64
- .byte 0x3
- .byte 0x2c
- .long 0x7f
- .uleb128 0x2
- .long .LC65
- .byte 0x3
- .byte 0x2d
- .long 0x2e0
- .uleb128 0x3
- .long .LC66
- .byte 0x4
- .byte 0x5
- .uleb128 0x2
- .long .LC67
- .byte 0x3
- .byte 0x2e
- .long 0x5b
- .uleb128 0x2
- .long .LC68
- .byte 0x3
- .byte 0x2f
- .long 0x78
- .uleb128 0x2
- .long .LC69
- .byte 0x3
- .byte 0x30
- .long 0x5b
- .uleb128 0x2
- .long .LC70
- .byte 0x3
- .byte 0x31
- .long 0x91
- .uleb128 0x2
- .long .LC71
- .byte 0x3
- .byte 0x32
- .long 0x6d
- .uleb128 0x2
- .long .LC72
- .byte 0x3
- .byte 0x33
- .long 0x91
- .uleb128 0x2
- .long .LC73
- .byte 0x3
- .byte 0x34
- .long 0x37
- .uleb128 0x2
- .long .LC74
- .byte 0x3
- .byte 0x35
- .long 0x7f
- .uleb128 0x2
- .long .LC75
- .byte 0x3
- .byte 0x36
- .long 0x2e0
- .uleb128 0x2
- .long .LC76
- .byte 0x3
- .byte 0x37
- .long 0x6d
- .uleb128 0x2
- .long .LC77
- .byte 0x3
- .byte 0x38
- .long 0x7f
- .uleb128 0x2
- .long .LC78
- .byte 0x3
- .byte 0x39
- .long 0x7f
- .uleb128 0x2
- .long .LC79
- .byte 0x3
- .byte 0x3a
- .long 0x8a
- .uleb128 0x2
- .long .LC80
- .byte 0x3
- .byte 0x4e
- .long 0x78
- .uleb128 0x2
- .long .LC81
- .byte 0x3
- .byte 0x4f
- .long 0x376
- .uleb128 0x2
- .long .LC82
- .byte 0x3
- .byte 0x50
- .long 0x376
- .uleb128 0x2
- .long .LC83
- .byte 0x3
- .byte 0x51
- .long 0x376
- .uleb128 0x2
- .long .LC84
- .byte 0x3
- .byte 0x5a
- .long 0x355
- .uleb128 0x6
- .long 0x3cc
- .byte 0x80
- .byte 0x3
- .byte 0x64
- .uleb128 0x7
- .long .LC85
- .byte 0x3
- .byte 0x62
- .long 0x3cc
- .uleb128 0x7
- .long .LC86
- .byte 0x3
- .byte 0x63
- .long 0x91
- .byte 0x0
- .uleb128 0x8
- .long 0x3dc
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0x7f
- .byte 0x0
- .uleb128 0x3
- .long .LC10
- .byte 0x4
- .byte 0x7
- .uleb128 0x2
- .long .LC87
- .byte 0x3
- .byte 0x64
- .long 0x3ad
- .uleb128 0x2
- .long .LC88
- .byte 0x4
- .byte 0x2f
- .long 0x308
- .uleb128 0x2
- .long .LC89
- .byte 0x4
- .byte 0x32
- .long 0x189
- .uleb128 0x2
- .long .LC90
- .byte 0x4
- .byte 0x38
- .long 0x265
- .uleb128 0xa
- .long 0x438
- .long .LC93
- .byte 0x8
- .byte 0x4
- .byte 0x46
- .uleb128 0xb
- .long .LC91
- .byte 0x4
- .byte 0x47
- .long 0x438
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC92
- .byte 0x4
- .byte 0x48
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x42
- .uleb128 0xa
- .long 0x560
- .long .LC94
- .byte 0x58
- .byte 0x4
- .byte 0x68
- .uleb128 0xc
- .string "_p"
- .byte 0x4
- .byte 0x69
- .long 0x438
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "_r"
- .byte 0x4
- .byte 0x6a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xc
- .string "_w"
- .byte 0x4
- .byte 0x6b
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC95
- .byte 0x4
- .byte 0x6c
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC96
- .byte 0x4
- .byte 0x6d
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0xe
- .uleb128 0xc
- .string "_bf"
- .byte 0x4
- .byte 0x6e
- .long 0x40f
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC97
- .byte 0x4
- .byte 0x6f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC98
- .byte 0x4
- .byte 0x72
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC99
- .byte 0x4
- .byte 0x73
- .long 0x572
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC100
- .byte 0x4
- .byte 0x74
- .long 0x598
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .uleb128 0xb
- .long .LC101
- .byte 0x4
- .byte 0x75
- .long 0x5b8
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .uleb128 0xb
- .long .LC102
- .byte 0x4
- .byte 0x76
- .long 0x5e3
- .byte 0x2
- .byte 0x23
- .uleb128 0x2c
- .uleb128 0xc
- .string "_ub"
- .byte 0x4
- .byte 0x79
- .long 0x40f
- .byte 0x2
- .byte 0x23
- .uleb128 0x30
- .uleb128 0xb
- .long .LC103
- .byte 0x4
- .byte 0x7a
- .long 0x5ef
- .byte 0x2
- .byte 0x23
- .uleb128 0x38
- .uleb128 0xc
- .string "_ur"
- .byte 0x4
- .byte 0x7b
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x3c
- .uleb128 0xb
- .long .LC104
- .byte 0x4
- .byte 0x7e
- .long 0x5f5
- .byte 0x2
- .byte 0x23
- .uleb128 0x40
- .uleb128 0xb
- .long .LC105
- .byte 0x4
- .byte 0x7f
- .long 0x605
- .byte 0x2
- .byte 0x23
- .uleb128 0x43
- .uleb128 0xc
- .string "_lb"
- .byte 0x4
- .byte 0x82
- .long 0x40f
- .byte 0x2
- .byte 0x23
- .uleb128 0x44
- .uleb128 0xb
- .long .LC106
- .byte 0x4
- .byte 0x85
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4c
- .uleb128 0xb
- .long .LC107
- .byte 0x4
- .byte 0x86
- .long 0x3ee
- .byte 0x2
- .byte 0x23
- .uleb128 0x50
- .byte 0x0
- .uleb128 0xd
- .byte 0x4
- .uleb128 0xe
- .long 0x572
- .byte 0x1
- .long 0x78
- .uleb128 0xf
- .long 0x560
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x562
- .uleb128 0xe
- .long 0x592
- .byte 0x1
- .long 0x78
- .uleb128 0xf
- .long 0x560
- .uleb128 0xf
- .long 0x592
- .uleb128 0xf
- .long 0x78
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x276
- .uleb128 0x5
- .byte 0x4
- .long 0x578
- .uleb128 0xe
- .long 0x5b8
- .byte 0x1
- .long 0x3ee
- .uleb128 0xf
- .long 0x560
- .uleb128 0xf
- .long 0x3ee
- .uleb128 0xf
- .long 0x78
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x59e
- .uleb128 0xe
- .long 0x5d8
- .byte 0x1
- .long 0x78
- .uleb128 0xf
- .long 0x560
- .uleb128 0xf
- .long 0x5d8
- .uleb128 0xf
- .long 0x78
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x5de
- .uleb128 0x10
- .long 0x276
- .uleb128 0x5
- .byte 0x4
- .long 0x5be
- .uleb128 0x11
- .long .LC231
- .byte 0x1
- .uleb128 0x5
- .byte 0x4
- .long 0x5e9
- .uleb128 0x8
- .long 0x605
- .long 0x42
- .uleb128 0x9
- .long 0x3dc
- .byte 0x2
- .byte 0x0
- .uleb128 0x8
- .long 0x615
- .long 0x42
- .uleb128 0x9
- .long 0x3dc
- .byte 0x0
- .byte 0x0
- .uleb128 0x2
- .long .LC108
- .byte 0x4
- .byte 0x87
- .long 0x43e
- .uleb128 0x2
- .long .LC109
- .byte 0x5
- .byte 0x2e
- .long 0x381
- .uleb128 0x2
- .long .LC110
- .byte 0x5
- .byte 0x3a
- .long 0x38c
- .uleb128 0x12
- .long 0x65b
- .byte 0x8
- .byte 0x5
- .byte 0x42
- .uleb128 0xb
- .long .LC111
- .byte 0x5
- .byte 0x40
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "rem"
- .byte 0x5
- .byte 0x41
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC112
- .byte 0x5
- .byte 0x42
- .long 0x636
- .uleb128 0x12
- .long 0x68b
- .byte 0x8
- .byte 0x5
- .byte 0x47
- .uleb128 0xb
- .long .LC111
- .byte 0x5
- .byte 0x45
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "rem"
- .byte 0x5
- .byte 0x46
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC113
- .byte 0x5
- .byte 0x47
- .long 0x666
- .uleb128 0x12
- .long 0x6bb
- .byte 0x10
- .byte 0x5
- .byte 0x85
- .uleb128 0xb
- .long .LC111
- .byte 0x5
- .byte 0x83
- .long 0x9c
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "rem"
- .byte 0x5
- .byte 0x84
- .long 0x9c
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x2
- .long .LC114
- .byte 0x5
- .byte 0x85
- .long 0x696
- .uleb128 0x2
- .long .LC115
- .byte 0x6
- .byte 0x34
- .long 0x42
- .uleb128 0x2
- .long .LC116
- .byte 0x6
- .byte 0x35
- .long 0x66
- .uleb128 0x2
- .long .LC117
- .byte 0x6
- .byte 0x36
- .long 0x8a
- .uleb128 0x2
- .long .LC118
- .byte 0x6
- .byte 0x37
- .long 0xc0
- .uleb128 0x2
- .long .LC119
- .byte 0x6
- .byte 0x38
- .long 0x66
- .uleb128 0x2
- .long .LC120
- .byte 0x6
- .byte 0x39
- .long 0x8a
- .uleb128 0x2
- .long .LC121
- .byte 0x6
- .byte 0x40
- .long 0x25
- .uleb128 0x2
- .long .LC122
- .byte 0x6
- .byte 0x45
- .long 0x49
- .uleb128 0x2
- .long .LC123
- .byte 0x6
- .byte 0x4a
- .long 0x6d
- .uleb128 0x2
- .long .LC124
- .byte 0x6
- .byte 0x4f
- .long 0x91
- .uleb128 0x2
- .long .LC125
- .byte 0x6
- .byte 0x54
- .long 0x37
- .uleb128 0x2
- .long .LC126
- .byte 0x6
- .byte 0x59
- .long 0x5b
- .uleb128 0x2
- .long .LC127
- .byte 0x6
- .byte 0x5e
- .long 0x7f
- .uleb128 0x2
- .long .LC128
- .byte 0x6
- .byte 0x63
- .long 0xa3
- .uleb128 0x2
- .long .LC129
- .byte 0x6
- .byte 0x68
- .long 0x105
- .uleb128 0x2
- .long .LC130
- .byte 0x6
- .byte 0x69
- .long 0x1c0
- .uleb128 0x2
- .long .LC131
- .byte 0x6
- .byte 0x6d
- .long 0x37
- .uleb128 0x2
- .long .LC132
- .byte 0x6
- .byte 0x6e
- .long 0x5b
- .uleb128 0x2
- .long .LC133
- .byte 0x6
- .byte 0x6f
- .long 0x7f
- .uleb128 0x2
- .long .LC134
- .byte 0x6
- .byte 0x70
- .long 0xa3
- .uleb128 0x2
- .long .LC135
- .byte 0x6
- .byte 0x72
- .long 0xa3
- .uleb128 0x2
- .long .LC136
- .byte 0x6
- .byte 0x73
- .long 0x91
- .uleb128 0x2
- .long .LC137
- .byte 0x6
- .byte 0x74
- .long 0x7c3
- .uleb128 0x5
- .byte 0x4
- .long 0x7ad
- .uleb128 0x2
- .long .LC138
- .byte 0x6
- .byte 0x76
- .long 0x592
- .uleb128 0x2
- .long .LC139
- .byte 0x6
- .byte 0x77
- .long 0x5d8
- .uleb128 0x2
- .long .LC140
- .byte 0x6
- .byte 0x78
- .long 0x7ea
- .uleb128 0x5
- .byte 0x4
- .long 0x7f0
- .uleb128 0x13
- .long 0x276
- .uleb128 0x2
- .long .LC141
- .byte 0x6
- .byte 0x7b
- .long 0xb5
- .uleb128 0x2
- .long .LC142
- .byte 0x6
- .byte 0x80
- .long 0x288
- .uleb128 0x2
- .long .LC143
- .byte 0x6
- .byte 0x84
- .long 0xc7
- .uleb128 0x2
- .long .LC144
- .byte 0x6
- .byte 0x85
- .long 0x91
- .uleb128 0x2
- .long .LC145
- .byte 0x6
- .byte 0x88
- .long 0x3a2
- .uleb128 0x2
- .long .LC146
- .byte 0x6
- .byte 0x8d
- .long 0x293
- .uleb128 0x2
- .long .LC147
- .byte 0x6
- .byte 0x91
- .long 0x7f
- .uleb128 0x2
- .long .LC148
- .byte 0x6
- .byte 0x94
- .long 0x29e
- .uleb128 0x2
- .long .LC149
- .byte 0x6
- .byte 0x95
- .long 0x2a9
- .uleb128 0x2
- .long .LC150
- .byte 0x6
- .byte 0x9a
- .long 0x2b4
- .uleb128 0x2
- .long .LC151
- .byte 0x6
- .byte 0x9f
- .long 0x7f
- .uleb128 0x2
- .long .LC152
- .byte 0x6
- .byte 0xa4
- .long 0x5b
- .uleb128 0x2
- .long .LC153
- .byte 0x6
- .byte 0xa9
- .long 0x2bf
- .uleb128 0x2
- .long .LC154
- .byte 0x6
- .byte 0xae
- .long 0x2ca
- .uleb128 0x2
- .long .LC155
- .byte 0x6
- .byte 0xb3
- .long 0x2d5
- .uleb128 0x2
- .long .LC156
- .byte 0x6
- .byte 0xb8
- .long 0x2e7
- .uleb128 0x2
- .long .LC157
- .byte 0x6
- .byte 0xbd
- .long 0x2fd
- .uleb128 0x2
- .long .LC158
- .byte 0x6
- .byte 0xc2
- .long 0x308
- .uleb128 0x2
- .long .LC159
- .byte 0x6
- .byte 0xc7
- .long 0x313
- .uleb128 0x2
- .long .LC160
- .byte 0x6
- .byte 0xcb
- .long 0x173
- .uleb128 0x2
- .long .LC161
- .byte 0x6
- .byte 0xce
- .long 0x31e
- .uleb128 0x2
- .long .LC162
- .byte 0x6
- .byte 0xd2
- .long 0x17e
- .uleb128 0x2
- .long .LC163
- .byte 0x6
- .byte 0xda
- .long 0x194
- .uleb128 0x2
- .long .LC164
- .byte 0x6
- .byte 0xdf
- .long 0x33f
- .uleb128 0x2
- .long .LC165
- .byte 0x6
- .byte 0xe4
- .long 0x19f
- .uleb128 0x2
- .long .LC166
- .byte 0x6
- .byte 0xe9
- .long 0x34a
- .uleb128 0x2
- .long .LC167
- .byte 0x6
- .byte 0xed
- .long 0x223
- .uleb128 0x2
- .long .LC168
- .byte 0x6
- .byte 0xee
- .long 0x355
- .uleb128 0x2
- .long .LC169
- .byte 0x6
- .byte 0xf1
- .long 0x360
- .uleb128 0x2
- .long .LC170
- .byte 0x6
- .byte 0xf6
- .long 0x36b
- .uleb128 0x2
- .long .LC171
- .byte 0x6
- .byte 0xfa
- .long 0x22e
- .uleb128 0x2
- .long .LC172
- .byte 0x6
- .byte 0xfb
- .long 0x239
- .uleb128 0x2
- .long .LC173
- .byte 0x6
- .byte 0xfc
- .long 0x244
- .uleb128 0x2
- .long .LC174
- .byte 0x6
- .byte 0xfd
- .long 0x24f
- .uleb128 0x2
- .long .LC175
- .byte 0x6
- .byte 0xfe
- .long 0x25a
- .uleb128 0xa
- .long 0x991
- .long .LC176
- .byte 0x10
- .byte 0x7
- .byte 0x37
- .uleb128 0xb
- .long .LC177
- .byte 0x7
- .byte 0x38
- .long 0x991
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0x8
- .long 0x9a1
- .long 0x7f
- .uleb128 0x9
- .long 0x3dc
- .byte 0x3
- .byte 0x0
- .uleb128 0x2
- .long .LC178
- .byte 0x7
- .byte 0x39
- .long 0x976
- .uleb128 0xa
- .long 0x9d5
- .long .LC179
- .byte 0x8
- .byte 0x8
- .byte 0x2f
- .uleb128 0xb
- .long .LC180
- .byte 0x8
- .byte 0x30
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC181
- .byte 0x8
- .byte 0x31
- .long 0x8f2
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0xa
- .long 0x9fe
- .long .LC182
- .byte 0x8
- .byte 0x9
- .byte 0x32
- .uleb128 0xb
- .long .LC180
- .byte 0x9
- .byte 0x33
- .long 0x8fd
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC183
- .byte 0x9
- .byte 0x34
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC184
- .byte 0xa
- .byte 0x2e
- .long 0xc0
- .uleb128 0x2
- .long .LC185
- .byte 0xa
- .byte 0x30
- .long 0x9fe
- .uleb128 0x2
- .long .LC186
- .byte 0xa
- .byte 0x35
- .long 0x9a1
- .uleb128 0xa
- .long 0xa3a
- .long .LC187
- .byte 0x80
- .byte 0xa
- .byte 0x4b
- .uleb128 0xb
- .long .LC188
- .byte 0xa
- .byte 0x4c
- .long 0xa3a
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0x8
- .long 0xa4a
- .long 0x9fe
- .uleb128 0x9
- .long 0x3dc
- .byte 0x1f
- .byte 0x0
- .uleb128 0x2
- .long .LC187
- .byte 0xa
- .byte 0x4d
- .long 0xa1f
- .uleb128 0xa
- .long 0xaa8
- .long .LC189
- .byte 0x18
- .byte 0xb
- .byte 0xc9
- .uleb128 0xb
- .long .LC190
- .byte 0xb
- .byte 0xca
- .long 0x8b0
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC191
- .byte 0xb
- .byte 0xcb
- .long 0x8b0
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC192
- .byte 0xb
- .byte 0xcc
- .long 0x8bb
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC193
- .byte 0xb
- .byte 0xcd
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC194
- .byte 0xb
- .byte 0xce
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0x16
- .byte 0x0
- .uleb128 0x12
- .long 0xae9
- .byte 0x10
- .byte 0xc
- .byte 0x39
- .uleb128 0xc
- .string "min"
- .byte 0xc
- .byte 0x35
- .long 0x381
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "max"
- .byte 0xc
- .byte 0x36
- .long 0x381
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xc
- .string "map"
- .byte 0xc
- .byte 0x37
- .long 0x381
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC195
- .byte 0xc
- .byte 0x38
- .long 0xae9
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0xc0
- .uleb128 0x2
- .long .LC196
- .byte 0xc
- .byte 0x39
- .long 0xaa8
- .uleb128 0x12
- .long 0xb1f
- .byte 0x8
- .byte 0xc
- .byte 0x3e
- .uleb128 0xb
- .long .LC197
- .byte 0xc
- .byte 0x3c
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC198
- .byte 0xc
- .byte 0x3d
- .long 0xb1f
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0xaef
- .uleb128 0x2
- .long .LC199
- .byte 0xc
- .byte 0x3e
- .long 0xafa
- .uleb128 0x14
- .long 0xbf7
- .value 0xc54
- .byte 0xc
- .byte 0x57
- .uleb128 0xb
- .long .LC200
- .byte 0xc
- .byte 0x41
- .long 0xbf7
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC201
- .byte 0xc
- .byte 0x42
- .long 0xc07
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC202
- .byte 0xc
- .byte 0x44
- .long 0xc37
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .uleb128 0xb
- .long .LC203
- .byte 0xc
- .byte 0x45
- .long 0xc62
- .byte 0x2
- .byte 0x23
- .uleb128 0x2c
- .uleb128 0xb
- .long .LC204
- .byte 0xc
- .byte 0x46
- .long 0x381
- .byte 0x2
- .byte 0x23
- .uleb128 0x30
- .uleb128 0xb
- .long .LC205
- .byte 0xc
- .byte 0x48
- .long 0xc68
- .byte 0x2
- .byte 0x23
- .uleb128 0x34
- .uleb128 0xb
- .long .LC206
- .byte 0xc
- .byte 0x49
- .long 0xc78
- .byte 0x3
- .byte 0x23
- .uleb128 0x434
- .uleb128 0xb
- .long .LC207
- .byte 0xc
- .byte 0x4a
- .long 0xc78
- .byte 0x3
- .byte 0x23
- .uleb128 0x834
- .uleb128 0xb
- .long .LC208
- .byte 0xc
- .byte 0x51
- .long 0xb25
- .byte 0x3
- .byte 0x23
- .uleb128 0xc34
- .uleb128 0xb
- .long .LC209
- .byte 0xc
- .byte 0x52
- .long 0xb25
- .byte 0x3
- .byte 0x23
- .uleb128 0xc3c
- .uleb128 0xb
- .long .LC210
- .byte 0xc
- .byte 0x53
- .long 0xb25
- .byte 0x3
- .byte 0x23
- .uleb128 0xc44
- .uleb128 0xb
- .long .LC211
- .byte 0xc
- .byte 0x55
- .long 0x560
- .byte 0x3
- .byte 0x23
- .uleb128 0xc4c
- .uleb128 0xb
- .long .LC212
- .byte 0xc
- .byte 0x56
- .long 0x78
- .byte 0x3
- .byte 0x23
- .uleb128 0xc50
- .byte 0x0
- .uleb128 0x8
- .long 0xc07
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0x7
- .byte 0x0
- .uleb128 0x8
- .long 0xc17
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0x1f
- .byte 0x0
- .uleb128 0xe
- .long 0xc31
- .byte 0x1
- .long 0x381
- .uleb128 0xf
- .long 0x5d8
- .uleb128 0xf
- .long 0x189
- .uleb128 0xf
- .long 0xc31
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x5d8
- .uleb128 0x5
- .byte 0x4
- .long 0xc17
- .uleb128 0xe
- .long 0xc5c
- .byte 0x1
- .long 0x78
- .uleb128 0xf
- .long 0x381
- .uleb128 0xf
- .long 0x592
- .uleb128 0xf
- .long 0x189
- .uleb128 0xf
- .long 0xc5c
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x592
- .uleb128 0x5
- .byte 0x4
- .long 0xc3d
- .uleb128 0x8
- .long 0xc78
- .long 0xc0
- .uleb128 0x9
- .long 0x3dc
- .byte 0xff
- .byte 0x0
- .uleb128 0x8
- .long 0xc88
- .long 0x381
- .uleb128 0x9
- .long 0x3dc
- .byte 0xff
- .byte 0x0
- .uleb128 0x2
- .long .LC213
- .byte 0xc
- .byte 0x57
- .long 0xb30
- .uleb128 0x15
- .long 0xce7
- .long .LC214
- .value 0x108
- .byte 0xd
- .byte 0x36
- .uleb128 0xb
- .long .LC215
- .byte 0xd
- .byte 0x37
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC216
- .byte 0xd
- .byte 0x38
- .long 0x5b
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC217
- .byte 0xd
- .byte 0x39
- .long 0x37
- .byte 0x2
- .byte 0x23
- .uleb128 0x6
- .uleb128 0xb
- .long .LC218
- .byte 0xd
- .byte 0x3a
- .long 0x37
- .byte 0x2
- .byte 0x23
- .uleb128 0x7
- .uleb128 0xb
- .long .LC219
- .byte 0xd
- .byte 0x3d
- .long 0xce7
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x8
- .long 0xcf7
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0xff
- .byte 0x0
- .uleb128 0xa
- .long 0xd90
- .long .LC220
- .byte 0x28
- .byte 0xe
- .byte 0x41
- .uleb128 0xb
- .long .LC221
- .byte 0xe
- .byte 0x42
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC222
- .byte 0xe
- .byte 0x43
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC223
- .byte 0xe
- .byte 0x44
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC224
- .byte 0xe
- .byte 0x45
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC225
- .byte 0xe
- .byte 0x46
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC226
- .byte 0xe
- .byte 0x47
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC227
- .byte 0xe
- .byte 0x48
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC228
- .byte 0xe
- .byte 0x49
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC229
- .byte 0xe
- .byte 0x4a
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC230
- .byte 0xe
- .byte 0x4b
- .long 0xd96
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .byte 0x0
- .uleb128 0x11
- .long .LC232
- .byte 0x1
- .uleb128 0x5
- .byte 0x4
- .long 0xd90
- .uleb128 0x16
- .string "DIR"
- .byte 0xe
- .byte 0x4c
- .long 0xcf7
- .uleb128 0xa
- .long 0xdd0
- .long .LC233
- .byte 0x8
- .byte 0xf
- .byte 0x2c
- .uleb128 0xb
- .long .LC234
- .byte 0xf
- .byte 0x2d
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC235
- .byte 0xf
- .byte 0x2e
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0xa
- .long 0xdf9
- .long .LC236
- .byte 0xc
- .byte 0xf
- .byte 0x39
- .uleb128 0xc
- .string "sec"
- .byte 0xf
- .byte 0x3a
- .long 0x8fd
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC237
- .byte 0xf
- .byte 0x3b
- .long 0x755
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0xa
- .long 0xe22
- .long .LC238
- .byte 0x10
- .byte 0xf
- .byte 0xdf
- .uleb128 0xb
- .long .LC239
- .byte 0xf
- .byte 0xe0
- .long 0x9ac
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC240
- .byte 0xf
- .byte 0xe1
- .long 0x9ac
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0xa
- .long 0xe74
- .long .LC241
- .byte 0x14
- .byte 0xf
- .byte 0xe7
- .uleb128 0xc
- .string "hz"
- .byte 0xf
- .byte 0xe8
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC242
- .byte 0xf
- .byte 0xe9
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC243
- .byte 0xf
- .byte 0xea
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC244
- .byte 0xf
- .byte 0xeb
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC245
- .byte 0xf
- .byte 0xec
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0x17
- .long 0xf1a
- .string "tm"
- .byte 0x2c
- .byte 0x10
- .byte 0x5f
- .uleb128 0xb
- .long .LC246
- .byte 0x10
- .byte 0x60
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC247
- .byte 0x10
- .byte 0x61
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC248
- .byte 0x10
- .byte 0x62
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC249
- .byte 0x10
- .byte 0x63
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC250
- .byte 0x10
- .byte 0x64
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC251
- .byte 0x10
- .byte 0x65
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC252
- .byte 0x10
- .byte 0x66
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC253
- .byte 0x10
- .byte 0x67
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC254
- .byte 0x10
- .byte 0x68
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC255
- .byte 0x10
- .byte 0x69
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .uleb128 0xb
- .long .LC256
- .byte 0x10
- .byte 0x6a
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .byte 0x0
- .uleb128 0xa
- .long 0xff9
- .long .LC257
- .byte 0x40
- .byte 0x11
- .byte 0x6c
- .uleb128 0xb
- .long .LC258
- .byte 0x11
- .byte 0x6d
- .long 0x5b
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC259
- .byte 0x11
- .byte 0x6e
- .long 0x884
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC260
- .byte 0x11
- .byte 0x6f
- .long 0x89a
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC261
- .byte 0x11
- .byte 0x70
- .long 0x8a5
- .byte 0x2
- .byte 0x23
- .uleb128 0xa
- .uleb128 0xb
- .long .LC262
- .byte 0x11
- .byte 0x71
- .long 0x5b
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC263
- .byte 0x11
- .byte 0x72
- .long 0x5b
- .byte 0x2
- .byte 0x23
- .uleb128 0xe
- .uleb128 0xb
- .long .LC264
- .byte 0x11
- .byte 0x73
- .long 0x5b
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC265
- .byte 0x11
- .byte 0x74
- .long 0x6d
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC266
- .byte 0x11
- .byte 0x75
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC267
- .byte 0x11
- .byte 0x76
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC268
- .byte 0x11
- .byte 0x77
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .uleb128 0xb
- .long .LC269
- .byte 0x11
- .byte 0x78
- .long 0x6d
- .byte 0x2
- .byte 0x23
- .uleb128 0x30
- .uleb128 0xb
- .long .LC270
- .byte 0x11
- .byte 0x79
- .long 0x6d
- .byte 0x2
- .byte 0x23
- .uleb128 0x34
- .uleb128 0xb
- .long .LC271
- .byte 0x11
- .byte 0x7a
- .long 0x82c
- .byte 0x2
- .byte 0x23
- .uleb128 0x38
- .uleb128 0xb
- .long .LC272
- .byte 0x11
- .byte 0x7b
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x3c
- .byte 0x0
- .uleb128 0xa
- .long 0x10f4
- .long .LC273
- .byte 0x60
- .byte 0x11
- .byte 0x7f
- .uleb128 0xb
- .long .LC258
- .byte 0x11
- .byte 0x80
- .long 0x355
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC259
- .byte 0x11
- .byte 0x81
- .long 0x884
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC260
- .byte 0x11
- .byte 0x82
- .long 0x89a
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC261
- .byte 0x11
- .byte 0x83
- .long 0x8a5
- .byte 0x2
- .byte 0x23
- .uleb128 0xa
- .uleb128 0xb
- .long .LC262
- .byte 0x11
- .byte 0x84
- .long 0x929
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC263
- .byte 0x11
- .byte 0x85
- .long 0x858
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC264
- .byte 0x11
- .byte 0x86
- .long 0x355
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC266
- .byte 0x11
- .byte 0x88
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC267
- .byte 0x11
- .byte 0x89
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC268
- .byte 0x11
- .byte 0x8a
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .uleb128 0xb
- .long .LC265
- .byte 0x11
- .byte 0x93
- .long 0x8b0
- .byte 0x2
- .byte 0x23
- .uleb128 0x30
- .uleb128 0xb
- .long .LC270
- .byte 0x11
- .byte 0x94
- .long 0x91
- .byte 0x2
- .byte 0x23
- .uleb128 0x38
- .uleb128 0xb
- .long .LC269
- .byte 0x11
- .byte 0x95
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x40
- .uleb128 0xb
- .long .LC271
- .byte 0x11
- .byte 0x96
- .long 0x82c
- .byte 0x2
- .byte 0x23
- .uleb128 0x44
- .uleb128 0xb
- .long .LC272
- .byte 0x11
- .byte 0x97
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x48
- .uleb128 0xb
- .long .LC274
- .byte 0x11
- .byte 0x98
- .long 0x6d
- .byte 0x2
- .byte 0x23
- .uleb128 0x4c
- .uleb128 0xb
- .long .LC275
- .byte 0x11
- .byte 0x9a
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x50
- .byte 0x0
- .uleb128 0xa
- .long 0x11e1
- .long .LC276
- .byte 0x60
- .byte 0x11
- .byte 0xae
- .uleb128 0xb
- .long .LC258
- .byte 0x11
- .byte 0xaf
- .long 0x355
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC259
- .byte 0x11
- .byte 0xb0
- .long 0x884
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC260
- .byte 0x11
- .byte 0xb1
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC261
- .byte 0x11
- .byte 0xb2
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC262
- .byte 0x11
- .byte 0xb3
- .long 0x929
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC263
- .byte 0x11
- .byte 0xb4
- .long 0x858
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC264
- .byte 0x11
- .byte 0xb5
- .long 0x355
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC266
- .byte 0x11
- .byte 0xb6
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC267
- .byte 0x11
- .byte 0xb7
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .uleb128 0xb
- .long .LC268
- .byte 0x11
- .byte 0xb8
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x2c
- .uleb128 0xb
- .long .LC265
- .byte 0x11
- .byte 0xb9
- .long 0x8b0
- .byte 0x2
- .byte 0x23
- .uleb128 0x34
- .uleb128 0xb
- .long .LC270
- .byte 0x11
- .byte 0xba
- .long 0x91
- .byte 0x2
- .byte 0x23
- .uleb128 0x3c
- .uleb128 0xb
- .long .LC269
- .byte 0x11
- .byte 0xbb
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x44
- .uleb128 0xb
- .long .LC271
- .byte 0x11
- .byte 0xbc
- .long 0x82c
- .byte 0x2
- .byte 0x23
- .uleb128 0x48
- .uleb128 0xb
- .long .LC272
- .byte 0x11
- .byte 0xbd
- .long 0x7f
- .byte 0x2
- .byte 0x23
- .uleb128 0x4c
- .uleb128 0xb
- .long .LC275
- .byte 0x11
- .byte 0xbe
- .long 0x9d5
- .byte 0x2
- .byte 0x23
- .uleb128 0x50
- .byte 0x0
- .uleb128 0xa
- .long 0x120a
- .long .LC277
- .byte 0x8
- .byte 0x12
- .byte 0x2f
- .uleb128 0xb
- .long .LC278
- .byte 0x12
- .byte 0x30
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC279
- .byte 0x12
- .byte 0x31
- .long 0x3f9
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC280
- .byte 0x13
- .byte 0x48
- .long 0x329
- .uleb128 0x2
- .long .LC281
- .byte 0x13
- .byte 0x4d
- .long 0x334
- .uleb128 0xa
- .long 0x1249
- .long .LC282
- .byte 0x8
- .byte 0x13
- .byte 0x90
- .uleb128 0xb
- .long .LC283
- .byte 0x13
- .byte 0x91
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC284
- .byte 0x13
- .byte 0x92
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x15
- .long 0x1273
- .long .LC285
- .value 0x100
- .byte 0x13
- .byte 0x96
- .uleb128 0xb
- .long .LC286
- .byte 0x13
- .byte 0x97
- .long 0x1273
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC287
- .byte 0x13
- .byte 0x98
- .long 0x1283
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0x8
- .long 0x1283
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0xf
- .byte 0x0
- .uleb128 0x8
- .long 0x1293
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0xef
- .byte 0x0
- .uleb128 0xa
- .long 0x12ca
- .long .LC288
- .byte 0x10
- .byte 0x13
- .byte 0xd8
- .uleb128 0xb
- .long .LC289
- .byte 0x13
- .byte 0xd9
- .long 0x42
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC290
- .byte 0x13
- .byte 0xda
- .long 0x120a
- .byte 0x2
- .byte 0x23
- .uleb128 0x1
- .uleb128 0xb
- .long .LC291
- .byte 0x13
- .byte 0xdb
- .long 0x12ca
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .byte 0x0
- .uleb128 0x8
- .long 0x12da
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0xd
- .byte 0x0
- .uleb128 0xa
- .long 0x1303
- .long .LC292
- .byte 0x4
- .byte 0x13
- .byte 0xe4
- .uleb128 0xb
- .long .LC293
- .byte 0x13
- .byte 0xe5
- .long 0x66
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC294
- .byte 0x13
- .byte 0xe6
- .long 0x66
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .byte 0x0
- .uleb128 0xa
- .long 0x1356
- .long .LC295
- .byte 0x80
- .byte 0x13
- .byte 0xf4
- .uleb128 0xb
- .long .LC296
- .byte 0x13
- .byte 0xf5
- .long 0x42
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC297
- .byte 0x13
- .byte 0xf6
- .long 0x120a
- .byte 0x2
- .byte 0x23
- .uleb128 0x1
- .uleb128 0xb
- .long .LC298
- .byte 0x13
- .byte 0xf7
- .long 0x1356
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .uleb128 0xb
- .long .LC299
- .byte 0x13
- .byte 0xf8
- .long 0x91
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC300
- .byte 0x13
- .byte 0xf9
- .long 0x1366
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0x8
- .long 0x1366
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0x5
- .byte 0x0
- .uleb128 0x8
- .long 0x1376
- .long 0x276
- .uleb128 0x9
- .long 0x3dc
- .byte 0x6f
- .byte 0x0
- .uleb128 0x18
- .long 0x13ed
- .long .LC301
- .byte 0x1c
- .byte 0x13
- .value 0x177
- .uleb128 0x19
- .long .LC302
- .byte 0x13
- .value 0x178
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC303
- .byte 0x13
- .value 0x179
- .long 0x1215
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC304
- .byte 0x13
- .value 0x17a
- .long 0x13ed
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0x19
- .long .LC305
- .byte 0x13
- .value 0x17b
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0x19
- .long .LC306
- .byte 0x13
- .value 0x17c
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0x19
- .long .LC307
- .byte 0x13
- .value 0x17d
- .long 0x1215
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0x19
- .long .LC308
- .byte 0x13
- .value 0x17e
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x11e1
- .uleb128 0x18
- .long 0x142e
- .long .LC309
- .byte 0xc
- .byte 0x13
- .value 0x194
- .uleb128 0x19
- .long .LC310
- .byte 0x13
- .value 0x195
- .long 0x1215
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC311
- .byte 0x13
- .value 0x196
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC312
- .byte 0x13
- .value 0x197
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x18
- .long 0x1496
- .long .LC313
- .byte 0x54
- .byte 0x13
- .value 0x1aa
- .uleb128 0x19
- .long .LC314
- .byte 0x13
- .value 0x1ab
- .long 0x8bb
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC315
- .byte 0x13
- .value 0x1ac
- .long 0x929
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC316
- .byte 0x13
- .value 0x1ad
- .long 0x929
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0x19
- .long .LC317
- .byte 0x13
- .value 0x1ae
- .long 0x858
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0x19
- .long .LC318
- .byte 0x13
- .value 0x1af
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0x19
- .long .LC319
- .byte 0x13
- .value 0x1b0
- .long 0x1496
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .byte 0x0
- .uleb128 0x8
- .long 0x14a6
- .long 0x858
- .uleb128 0x9
- .long 0x3dc
- .byte 0xf
- .byte 0x0
- .uleb128 0x18
- .long 0x14d2
- .long .LC320
- .byte 0x10
- .byte 0x13
- .value 0x1d7
- .uleb128 0x19
- .long .LC290
- .byte 0x13
- .value 0x1d8
- .long 0x66
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC291
- .byte 0x13
- .value 0x1d9
- .long 0x12ca
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .byte 0x0
- .uleb128 0x18
- .long 0x153a
- .long .LC321
- .byte 0x18
- .byte 0x13
- .value 0x1df
- .uleb128 0x19
- .long .LC302
- .byte 0x13
- .value 0x1e0
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC303
- .byte 0x13
- .value 0x1e1
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC304
- .byte 0x13
- .value 0x1e2
- .long 0x13ed
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0x19
- .long .LC305
- .byte 0x13
- .value 0x1e3
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0x19
- .long .LC322
- .byte 0x13
- .value 0x1e4
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0x19
- .long .LC323
- .byte 0x13
- .value 0x1e5
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .byte 0x0
- .uleb128 0x18
- .long 0x1584
- .long .LC324
- .byte 0x10
- .byte 0x13
- .value 0x1f4
- .uleb128 0x19
- .long .LC325
- .byte 0x13
- .value 0x1f5
- .long 0x13ed
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC326
- .byte 0x13
- .value 0x1f6
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC327
- .byte 0x13
- .value 0x1f7
- .long 0x13ed
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0x19
- .long .LC328
- .byte 0x13
- .value 0x1f8
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .byte 0x0
- .uleb128 0xa
- .long 0x159f
- .long .LC329
- .byte 0x4
- .byte 0x14
- .byte 0x55
- .uleb128 0xb
- .long .LC330
- .byte 0x14
- .byte 0x56
- .long 0x863
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0xa
- .long 0x15f2
- .long .LC331
- .byte 0x10
- .byte 0x14
- .byte 0x5c
- .uleb128 0xb
- .long .LC332
- .byte 0x14
- .byte 0x5d
- .long 0x734
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC333
- .byte 0x14
- .byte 0x5e
- .long 0x120a
- .byte 0x2
- .byte 0x23
- .uleb128 0x1
- .uleb128 0xb
- .long .LC334
- .byte 0x14
- .byte 0x5f
- .long 0x86e
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .uleb128 0xb
- .long .LC335
- .byte 0x14
- .byte 0x60
- .long 0x1584
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC336
- .byte 0x14
- .byte 0x61
- .long 0xbf7
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x18
- .long 0x161e
- .long .LC337
- .byte 0x8
- .byte 0x14
- .value 0x1a1
- .uleb128 0x19
- .long .LC338
- .byte 0x14
- .value 0x1a2
- .long 0x1584
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC339
- .byte 0x14
- .value 0x1a3
- .long 0x1584
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x6
- .long 0x1648
- .byte 0x10
- .byte 0x15
- .byte 0x7e
- .uleb128 0x7
- .long .LC340
- .byte 0x15
- .byte 0x7b
- .long 0x1648
- .uleb128 0x7
- .long .LC341
- .byte 0x15
- .byte 0x7c
- .long 0x1658
- .uleb128 0x7
- .long .LC342
- .byte 0x15
- .byte 0x7d
- .long 0x1668
- .byte 0x0
- .uleb128 0x8
- .long 0x1658
- .long 0x734
- .uleb128 0x9
- .long 0x3dc
- .byte 0xf
- .byte 0x0
- .uleb128 0x8
- .long 0x1668
- .long 0x73f
- .uleb128 0x9
- .long 0x3dc
- .byte 0x7
- .byte 0x0
- .uleb128 0x8
- .long 0x1678
- .long 0x74a
- .uleb128 0x9
- .long 0x3dc
- .byte 0x3
- .byte 0x0
- .uleb128 0xa
- .long 0x1693
- .long .LC343
- .byte 0x10
- .byte 0x15
- .byte 0x79
- .uleb128 0xb
- .long .LC344
- .byte 0x15
- .byte 0x7e
- .long 0x161e
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0xa
- .long 0x16f4
- .long .LC345
- .byte 0x1c
- .byte 0x15
- .byte 0x95
- .uleb128 0xb
- .long .LC346
- .byte 0x15
- .byte 0x96
- .long 0x734
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC347
- .byte 0x15
- .byte 0x97
- .long 0x120a
- .byte 0x2
- .byte 0x23
- .uleb128 0x1
- .uleb128 0xb
- .long .LC348
- .byte 0x15
- .byte 0x98
- .long 0x86e
- .byte 0x2
- .byte 0x23
- .uleb128 0x2
- .uleb128 0xb
- .long .LC349
- .byte 0x15
- .byte 0x99
- .long 0x74a
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC350
- .byte 0x15
- .byte 0x9a
- .long 0x1678
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC351
- .byte 0x15
- .byte 0x9b
- .long 0x74a
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .byte 0x0
- .uleb128 0x18
- .long 0x1720
- .long .LC352
- .byte 0x20
- .byte 0x15
- .value 0x190
- .uleb128 0x19
- .long .LC353
- .byte 0x15
- .value 0x191
- .long 0x1726
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC354
- .byte 0x15
- .value 0x192
- .long 0x1693
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x11
- .long .LC355
- .byte 0x1
- .uleb128 0x5
- .byte 0x4
- .long 0x1720
- .uleb128 0x18
- .long 0x1758
- .long .LC356
- .byte 0x14
- .byte 0x15
- .value 0x205
- .uleb128 0x19
- .long .LC357
- .byte 0x15
- .value 0x206
- .long 0x1678
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC358
- .byte 0x15
- .value 0x207
- .long 0x8a
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0x18
- .long 0x1784
- .long .LC359
- .byte 0x14
- .byte 0x15
- .value 0x20d
- .uleb128 0x19
- .long .LC360
- .byte 0x15
- .value 0x20e
- .long 0x1678
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC361
- .byte 0x15
- .value 0x20f
- .long 0x8a
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0x18
- .long 0x17b0
- .long .LC362
- .byte 0x20
- .byte 0x15
- .value 0x215
- .uleb128 0x19
- .long .LC363
- .byte 0x15
- .value 0x216
- .long 0x1693
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC364
- .byte 0x15
- .value 0x217
- .long 0x74a
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .byte 0x0
- .uleb128 0xa
- .long 0x1803
- .long .LC365
- .byte 0x14
- .byte 0x16
- .byte 0x5c
- .uleb128 0xb
- .long .LC366
- .byte 0x16
- .byte 0x5d
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC367
- .byte 0x16
- .byte 0x5e
- .long 0xc5c
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC368
- .byte 0x16
- .byte 0x5f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC369
- .byte 0x16
- .byte 0x60
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC370
- .byte 0x16
- .byte 0x61
- .long 0xc5c
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0xa
- .long 0x1848
- .long .LC371
- .byte 0x10
- .byte 0x16
- .byte 0x69
- .uleb128 0xb
- .long .LC372
- .byte 0x16
- .byte 0x6a
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC373
- .byte 0x16
- .byte 0x6b
- .long 0xc5c
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC374
- .byte 0x16
- .byte 0x6c
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC375
- .byte 0x16
- .byte 0x6d
- .long 0xc0
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .byte 0x0
- .uleb128 0xa
- .long 0x188d
- .long .LC376
- .byte 0x10
- .byte 0x16
- .byte 0x70
- .uleb128 0xb
- .long .LC377
- .byte 0x16
- .byte 0x71
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC378
- .byte 0x16
- .byte 0x72
- .long 0xc5c
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC379
- .byte 0x16
- .byte 0x73
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC380
- .byte 0x16
- .byte 0x74
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .byte 0x0
- .uleb128 0xa
- .long 0x18c4
- .long .LC381
- .byte 0xc
- .byte 0x16
- .byte 0x77
- .uleb128 0xb
- .long .LC382
- .byte 0x16
- .byte 0x78
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC383
- .byte 0x16
- .byte 0x79
- .long 0xc5c
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC384
- .byte 0x16
- .byte 0x7a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0xa
- .long 0x1941
- .long .LC385
- .byte 0x20
- .byte 0x16
- .byte 0x7d
- .uleb128 0xb
- .long .LC386
- .byte 0x16
- .byte 0x7e
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC387
- .byte 0x16
- .byte 0x7f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC388
- .byte 0x16
- .byte 0x80
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC389
- .byte 0x16
- .byte 0x81
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC390
- .byte 0x16
- .byte 0x82
- .long 0x3f9
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC391
- .byte 0x16
- .byte 0x83
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC392
- .byte 0x16
- .byte 0x84
- .long 0x1941
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC393
- .byte 0x16
- .byte 0x85
- .long 0x1947
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x1293
- .uleb128 0x5
- .byte 0x4
- .long 0x18c4
- .uleb128 0x2
- .long .LC394
- .byte 0x17
- .byte 0x2f
- .long 0x78
- .uleb128 0x15
- .long 0x1ae1
- .long .LC395
- .value 0x290
- .byte 0x17
- .byte 0x64
- .uleb128 0xb
- .long .LC396
- .byte 0x17
- .byte 0x65
- .long 0x976
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC397
- .byte 0x17
- .byte 0x66
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC398
- .byte 0x17
- .byte 0x67
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC399
- .byte 0x17
- .byte 0x68
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC400
- .byte 0x17
- .byte 0x69
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC401
- .byte 0x17
- .byte 0x6a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC402
- .byte 0x17
- .byte 0x6b
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .uleb128 0xb
- .long .LC403
- .byte 0x17
- .byte 0x6c
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x28
- .uleb128 0xb
- .long .LC404
- .byte 0x17
- .byte 0x6d
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x2c
- .uleb128 0xb
- .long .LC405
- .byte 0x17
- .byte 0x6e
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x30
- .uleb128 0xb
- .long .LC406
- .byte 0x17
- .byte 0x6f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x34
- .uleb128 0xb
- .long .LC407
- .byte 0x17
- .byte 0x70
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x38
- .uleb128 0xb
- .long .LC408
- .byte 0x17
- .byte 0x71
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x3c
- .uleb128 0xb
- .long .LC409
- .byte 0x17
- .byte 0x72
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x40
- .uleb128 0xb
- .long .LC410
- .byte 0x17
- .byte 0x73
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x44
- .uleb128 0xb
- .long .LC411
- .byte 0x17
- .byte 0x74
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x48
- .uleb128 0xb
- .long .LC412
- .byte 0x17
- .byte 0x75
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4c
- .uleb128 0xb
- .long .LC413
- .byte 0x17
- .byte 0x76
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x50
- .uleb128 0xb
- .long .LC414
- .byte 0x17
- .byte 0x77
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x54
- .uleb128 0xb
- .long .LC415
- .byte 0x17
- .byte 0x78
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x58
- .uleb128 0xb
- .long .LC416
- .byte 0x17
- .byte 0x79
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x5c
- .uleb128 0xb
- .long .LC417
- .byte 0x17
- .byte 0x7a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x60
- .uleb128 0xb
- .long .LC418
- .byte 0x17
- .byte 0x7f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x64
- .uleb128 0xb
- .long .LC419
- .byte 0x17
- .byte 0x80
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x68
- .uleb128 0xb
- .long .LC420
- .byte 0x17
- .byte 0x81
- .long 0x1ae1
- .byte 0x2
- .byte 0x23
- .uleb128 0x6c
- .uleb128 0xb
- .long .LC421
- .byte 0x17
- .byte 0x82
- .long 0x1af1
- .byte 0x2
- .byte 0x23
- .uleb128 0x70
- .uleb128 0xb
- .long .LC422
- .byte 0x17
- .byte 0x83
- .long 0x1b01
- .byte 0x3
- .byte 0x23
- .uleb128 0x270
- .byte 0x0
- .uleb128 0x8
- .long 0x1af1
- .long 0x78
- .uleb128 0x9
- .long 0x3dc
- .byte 0x0
- .byte 0x0
- .uleb128 0x8
- .long 0x1b01
- .long 0x78
- .uleb128 0x9
- .long 0x3dc
- .byte 0x7f
- .byte 0x0
- .uleb128 0x8
- .long 0x1b11
- .long 0x78
- .uleb128 0x9
- .long 0x3dc
- .byte 0x7
- .byte 0x0
- .uleb128 0x2
- .long .LC423
- .byte 0x18
- .byte 0x90
- .long 0x1b1c
- .uleb128 0x1a
- .long 0x1b28
- .byte 0x1
- .uleb128 0xf
- .long 0x78
- .byte 0x0
- .uleb128 0x1b
- .long 0x1b4b
- .long .LC590
- .byte 0x4
- .byte 0x18
- .byte 0x9a
- .uleb128 0x7
- .long .LC424
- .byte 0x18
- .byte 0x9c
- .long 0x78
- .uleb128 0x7
- .long .LC425
- .byte 0x18
- .byte 0x9d
- .long 0x560
- .byte 0x0
- .uleb128 0x6
- .long 0x1b6a
- .byte 0x4
- .byte 0x18
- .byte 0xa7
- .uleb128 0x7
- .long .LC426
- .byte 0x18
- .byte 0xa5
- .long 0x78
- .uleb128 0x7
- .long .LC427
- .byte 0x18
- .byte 0xa6
- .long 0x78
- .byte 0x0
- .uleb128 0xa
- .long 0x1ba1
- .long .LC428
- .byte 0xc
- .byte 0x18
- .byte 0xa2
- .uleb128 0xb
- .long .LC429
- .byte 0x18
- .byte 0xa3
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC430
- .byte 0x18
- .byte 0xa7
- .long 0x1b4b
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC431
- .byte 0x18
- .byte 0xa8
- .long 0x1b28
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0xa
- .long 0x1c3a
- .long .LC432
- .byte 0x40
- .byte 0x18
- .byte 0xbd
- .uleb128 0xb
- .long .LC433
- .byte 0x18
- .byte 0xbe
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC434
- .byte 0x18
- .byte 0xbf
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC435
- .byte 0x18
- .byte 0xc6
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC436
- .byte 0x18
- .byte 0xc7
- .long 0x313
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC437
- .byte 0x18
- .byte 0xc8
- .long 0x360
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC438
- .byte 0x18
- .byte 0xc9
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC439
- .byte 0x18
- .byte 0xca
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC440
- .byte 0x18
- .byte 0xcb
- .long 0x1b28
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC441
- .byte 0x18
- .byte 0xcc
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .uleb128 0xb
- .long .LC442
- .byte 0x18
- .byte 0xcd
- .long 0x1c3a
- .byte 0x2
- .byte 0x23
- .uleb128 0x24
- .byte 0x0
- .uleb128 0x8
- .long 0x1c4a
- .long 0x78
- .uleb128 0x9
- .long 0x3dc
- .byte 0x6
- .byte 0x0
- .uleb128 0x2
- .long .LC443
- .byte 0x18
- .byte 0xce
- .long 0x1ba1
- .uleb128 0x6
- .long 0x1c74
- .byte 0x4
- .byte 0x18
- .byte 0xdb
- .uleb128 0x7
- .long .LC444
- .byte 0x18
- .byte 0xd9
- .long 0x1c74
- .uleb128 0x7
- .long .LC445
- .byte 0x18
- .byte 0xda
- .long 0x1c96
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x1b1c
- .uleb128 0x1a
- .long 0x1c90
- .byte 0x1
- .uleb128 0xf
- .long 0x78
- .uleb128 0xf
- .long 0x1c90
- .uleb128 0xf
- .long 0x560
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x1ba1
- .uleb128 0x5
- .byte 0x4
- .long 0x1c7a
- .uleb128 0xa
- .long 0x1cd3
- .long .LC446
- .byte 0x18
- .byte 0x18
- .byte 0xd7
- .uleb128 0xb
- .long .LC447
- .byte 0x18
- .byte 0xdb
- .long 0x1c55
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC448
- .byte 0x18
- .byte 0xdc
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC449
- .byte 0x18
- .byte 0xdd
- .long 0xa14
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x1c
- .long .LC450
- .byte 0x18
- .value 0x10b
- .long 0x1cdf
- .uleb128 0x5
- .byte 0x4
- .long 0x1b11
- .uleb128 0x1c
- .long .LC451
- .byte 0x18
- .value 0x10c
- .long 0x1c7a
- .uleb128 0x18
- .long 0x1d2c
- .long .LC452
- .byte 0xc
- .byte 0x18
- .value 0x114
- .uleb128 0x19
- .long .LC453
- .byte 0x18
- .value 0x118
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC454
- .byte 0x18
- .value 0x119
- .long 0x189
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC455
- .byte 0x18
- .value 0x11a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x1c
- .long .LC456
- .byte 0x18
- .value 0x11b
- .long 0x1cf1
- .uleb128 0x18
- .long 0x1d73
- .long .LC457
- .byte 0xc
- .byte 0x18
- .value 0x127
- .uleb128 0x19
- .long .LC458
- .byte 0x18
- .value 0x128
- .long 0x1cdf
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC459
- .byte 0x18
- .value 0x129
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0x19
- .long .LC460
- .byte 0x18
- .value 0x12a
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x18
- .long 0x1d9f
- .long .LC461
- .byte 0x8
- .byte 0x18
- .value 0x142
- .uleb128 0x19
- .long .LC453
- .byte 0x18
- .value 0x144
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0x19
- .long .LC462
- .byte 0x18
- .value 0x145
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0xa
- .long 0x1dba
- .long .LC463
- .byte 0x4
- .byte 0x19
- .byte 0x37
- .uleb128 0xb
- .long .LC464
- .byte 0x19
- .byte 0x38
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0x2
- .long .LC465
- .byte 0x1a
- .byte 0x6e
- .long 0x1dc5
- .uleb128 0x5
- .byte 0x4
- .long 0x1dcb
- .uleb128 0x11
- .long .LC466
- .byte 0x1
- .uleb128 0x2
- .long .LC467
- .byte 0x1a
- .byte 0x6f
- .long 0x1ddc
- .uleb128 0x5
- .byte 0x4
- .long 0x1de2
- .uleb128 0x11
- .long .LC468
- .byte 0x1
- .uleb128 0x2
- .long .LC469
- .byte 0x1a
- .byte 0x70
- .long 0x1df3
- .uleb128 0x5
- .byte 0x4
- .long 0x1df9
- .uleb128 0x11
- .long .LC470
- .byte 0x1
- .uleb128 0x2
- .long .LC471
- .byte 0x1a
- .byte 0x71
- .long 0x1e0a
- .uleb128 0x5
- .byte 0x4
- .long 0x1e10
- .uleb128 0x11
- .long .LC472
- .byte 0x1
- .uleb128 0x2
- .long .LC473
- .byte 0x1a
- .byte 0x72
- .long 0x1e21
- .uleb128 0x5
- .byte 0x4
- .long 0x1e27
- .uleb128 0x11
- .long .LC474
- .byte 0x1
- .uleb128 0x2
- .long .LC475
- .byte 0x1a
- .byte 0x73
- .long 0x1e38
- .uleb128 0x5
- .byte 0x4
- .long 0x1e3e
- .uleb128 0x11
- .long .LC476
- .byte 0x1
- .uleb128 0x2
- .long .LC477
- .byte 0x1a
- .byte 0x74
- .long 0x78
- .uleb128 0x2
- .long .LC478
- .byte 0x1a
- .byte 0x75
- .long 0x1e5a
- .uleb128 0xa
- .long 0x1e83
- .long .LC479
- .byte 0x8
- .byte 0x1a
- .byte 0x60
- .uleb128 0xb
- .long .LC480
- .byte 0x1a
- .byte 0x89
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC481
- .byte 0x1a
- .byte 0x8a
- .long 0x1de8
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC482
- .byte 0x1a
- .byte 0x76
- .long 0x1e8e
- .uleb128 0x5
- .byte 0x4
- .long 0x1e94
- .uleb128 0x11
- .long .LC483
- .byte 0x1
- .uleb128 0x2
- .long .LC484
- .byte 0x1a
- .byte 0x77
- .long 0x1ea5
- .uleb128 0x5
- .byte 0x4
- .long 0x1eab
- .uleb128 0x11
- .long .LC485
- .byte 0x1
- .uleb128 0x2
- .long .LC486
- .byte 0x1a
- .byte 0x78
- .long 0x1ebc
- .uleb128 0x5
- .byte 0x4
- .long 0x1ec2
- .uleb128 0x11
- .long .LC487
- .byte 0x1
- .uleb128 0x2
- .long .LC488
- .byte 0x1a
- .byte 0x79
- .long 0x1ed3
- .uleb128 0x5
- .byte 0x4
- .long 0x1ed9
- .uleb128 0x11
- .long .LC489
- .byte 0x1
- .uleb128 0x2
- .long .LC490
- .byte 0x1a
- .byte 0x7a
- .long 0x1eea
- .uleb128 0x5
- .byte 0x4
- .long 0x1ef0
- .uleb128 0x11
- .long .LC491
- .byte 0x1
- .uleb128 0x2
- .long .LC492
- .byte 0x1a
- .byte 0x82
- .long 0x560
- .uleb128 0x2
- .long .LC493
- .byte 0x1a
- .byte 0x83
- .long 0x1f0c
- .uleb128 0x5
- .byte 0x4
- .long 0x1f12
- .uleb128 0xe
- .long 0x1f22
- .byte 0x1
- .long 0x560
- .uleb128 0xf
- .long 0x560
- .byte 0x0
- .uleb128 0x1d
- .long 0x1f47
- .long .LC561
- .byte 0x4
- .byte 0x1a
- .byte 0xb8
- .uleb128 0x1e
- .long .LC494
- .byte 0x1
- .uleb128 0x1e
- .long .LC495
- .byte 0x2
- .uleb128 0x1e
- .long .LC496
- .byte 0x3
- .uleb128 0x1e
- .long .LC497
- .byte 0x4
- .byte 0x0
- .uleb128 0x2
- .long .LC498
- .byte 0x1b
- .byte 0x2a
- .long 0x1f52
- .uleb128 0x5
- .byte 0x4
- .long 0x1f58
- .uleb128 0x1f
- .string "sem"
- .byte 0x1
- .uleb128 0xa
- .long 0x1fbf
- .long .LC499
- .byte 0x14
- .byte 0x1c
- .byte 0x35
- .uleb128 0xb
- .long .LC500
- .byte 0x1c
- .byte 0x36
- .long 0x76b
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC501
- .byte 0x1c
- .byte 0x37
- .long 0x54
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC502
- .byte 0x1c
- .byte 0x38
- .long 0x6d1
- .byte 0x2
- .byte 0x23
- .uleb128 0x6
- .uleb128 0xb
- .long .LC503
- .byte 0x1c
- .byte 0x39
- .long 0x6dc
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC504
- .byte 0x1c
- .byte 0x3a
- .long 0x760
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC505
- .byte 0x1c
- .byte 0x3b
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .byte 0x0
- .uleb128 0xa
- .long 0x1fda
- .long .LC506
- .byte 0x4
- .byte 0x1c
- .byte 0x7a
- .uleb128 0xb
- .long .LC507
- .byte 0x1c
- .byte 0x7a
- .long 0x1fe0
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .byte 0x0
- .uleb128 0x11
- .long .LC508
- .byte 0x1
- .uleb128 0x5
- .byte 0x4
- .long 0x1fda
- .uleb128 0x2
- .long .LC509
- .byte 0x1d
- .byte 0x4
- .long 0xc0
- .uleb128 0x2
- .long .LC510
- .byte 0x1d
- .byte 0x5
- .long 0x42
- .uleb128 0x2
- .long .LC511
- .byte 0x1d
- .byte 0x6
- .long 0x30
- .uleb128 0x2
- .long .LC512
- .byte 0x1d
- .byte 0x7
- .long 0x66
- .uleb128 0x2
- .long .LC513
- .byte 0x1d
- .byte 0xc
- .long 0x42
- .uleb128 0x2
- .long .LC514
- .byte 0x1d
- .byte 0xf
- .long 0xc0
- .uleb128 0x2
- .long .LC515
- .byte 0x1d
- .byte 0x10
- .long 0x78
- .uleb128 0x2
- .long .LC516
- .byte 0x1d
- .byte 0x11
- .long 0x42
- .uleb128 0x2
- .long .LC517
- .byte 0x1d
- .byte 0x12
- .long 0x66
- .uleb128 0x2
- .long .LC518
- .byte 0x1d
- .byte 0x13
- .long 0x2e0
- .uleb128 0x2
- .long .LC519
- .byte 0x1d
- .byte 0x14
- .long 0xc0
- .uleb128 0x16
- .string "INT"
- .byte 0x1d
- .byte 0x15
- .long 0x78
- .uleb128 0x2
- .long .LC520
- .byte 0x1d
- .byte 0x16
- .long 0x8a
- .uleb128 0x2
- .long .LC521
- .byte 0x1d
- .byte 0x18
- .long 0x78
- .uleb128 0x2
- .long .LC522
- .byte 0x1e
- .byte 0x4
- .long 0x208b
- .uleb128 0xa
- .long 0x20ec
- .long .LC523
- .byte 0x24
- .byte 0x1e
- .byte 0x4
- .uleb128 0xb
- .long .LC524
- .byte 0x1e
- .byte 0xb
- .long 0x20fd
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC525
- .byte 0x1e
- .byte 0xd
- .long 0x9ac
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC526
- .byte 0x1e
- .byte 0xe
- .long 0x9ac
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC527
- .byte 0x1e
- .byte 0xf
- .long 0x9ac
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC528
- .byte 0x1e
- .byte 0x11
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .uleb128 0xb
- .long .LC529
- .byte 0x1e
- .byte 0x12
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x20
- .byte 0x0
- .uleb128 0x2
- .long .LC530
- .byte 0x1e
- .byte 0x5
- .long 0x20f7
- .uleb128 0x5
- .byte 0x4
- .long 0x208b
- .uleb128 0x2
- .long .LC531
- .byte 0x1e
- .byte 0x7
- .long 0x2108
- .uleb128 0x5
- .byte 0x4
- .long 0x210e
- .uleb128 0x1a
- .long 0x211f
- .byte 0x1
- .uleb128 0xf
- .long 0x20ec
- .uleb128 0xf
- .long 0x78
- .byte 0x0
- .uleb128 0x2
- .long .LC532
- .byte 0x1f
- .byte 0x8
- .long 0x212a
- .uleb128 0xa
- .long 0x21a6
- .long .LC533
- .byte 0x20
- .byte 0x1f
- .byte 0x8
- .uleb128 0xc
- .string "kq"
- .byte 0x1f
- .byte 0x1a
- .long 0x21fa
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC534
- .byte 0x1f
- .byte 0x1c
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC535
- .byte 0x1f
- .byte 0x1e
- .long 0x21e9
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC536
- .byte 0x1f
- .byte 0x1f
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC537
- .byte 0x1f
- .byte 0x21
- .long 0x21e9
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC538
- .byte 0x1f
- .byte 0x22
- .long 0x2205
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC539
- .byte 0x1f
- .byte 0x24
- .long 0x220b
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC540
- .byte 0x1f
- .byte 0x25
- .long 0x2205
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .byte 0x0
- .uleb128 0x2
- .long .LC541
- .byte 0x1f
- .byte 0x9
- .long 0x21b1
- .uleb128 0x5
- .byte 0x4
- .long 0x212a
- .uleb128 0x20
- .long 0x21de
- .byte 0x4
- .byte 0x1f
- .byte 0xc
- .uleb128 0x1e
- .long .LC542
- .byte 0x0
- .uleb128 0x1e
- .long .LC543
- .byte 0x1
- .uleb128 0x1e
- .long .LC544
- .byte 0x2
- .uleb128 0x1e
- .long .LC545
- .byte 0x4
- .uleb128 0x1e
- .long .LC546
- .byte 0x8
- .byte 0x0
- .uleb128 0x2
- .long .LC547
- .byte 0x1f
- .byte 0x14
- .long 0x1f5e
- .uleb128 0x2
- .long .LC548
- .byte 0x1f
- .byte 0x15
- .long 0x21f4
- .uleb128 0x5
- .byte 0x4
- .long 0x1f5e
- .uleb128 0x2
- .long .LC549
- .byte 0x1f
- .byte 0x16
- .long 0x78
- .uleb128 0x5
- .byte 0x4
- .long 0x78
- .uleb128 0x5
- .byte 0x4
- .long 0x560
- .uleb128 0x2
- .long .LC550
- .byte 0x20
- .byte 0xe
- .long 0x221c
- .uleb128 0xa
- .long 0x2299
- .long .LC551
- .byte 0x20
- .byte 0x20
- .byte 0xe
- .uleb128 0xb
- .long .LC552
- .byte 0x20
- .byte 0x13
- .long 0x22a4
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC553
- .byte 0x20
- .byte 0x15
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC554
- .byte 0x20
- .byte 0x16
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .uleb128 0xb
- .long .LC555
- .byte 0x20
- .byte 0x18
- .long 0x5d8
- .byte 0x2
- .byte 0x23
- .uleb128 0xc
- .uleb128 0xb
- .long .LC556
- .byte 0x20
- .byte 0x19
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x10
- .uleb128 0xb
- .long .LC557
- .byte 0x20
- .byte 0x1b
- .long 0x592
- .byte 0x2
- .byte 0x23
- .uleb128 0x14
- .uleb128 0xb
- .long .LC558
- .byte 0x20
- .byte 0x1c
- .long 0x78
- .byte 0x2
- .byte 0x23
- .uleb128 0x18
- .uleb128 0xb
- .long .LC559
- .byte 0x20
- .byte 0x1e
- .long 0x2e0
- .byte 0x2
- .byte 0x23
- .uleb128 0x1c
- .byte 0x0
- .uleb128 0x2
- .long .LC560
- .byte 0x20
- .byte 0xf
- .long 0x22a4
- .uleb128 0x5
- .byte 0x4
- .long 0x221c
- .uleb128 0x1d
- .long 0x22c9
- .long .LC562
- .byte 0x4
- .byte 0x21
- .byte 0x12
- .uleb128 0x1e
- .long .LC563
- .byte 0x0
- .uleb128 0x1e
- .long .LC564
- .byte 0x1
- .uleb128 0x1e
- .long .LC565
- .byte 0x2
- .byte 0x0
- .uleb128 0x2
- .long .LC566
- .byte 0x22
- .byte 0xb
- .long 0x22d4
- .uleb128 0xa
- .long 0x230b
- .long .LC567
- .byte 0xc
- .byte 0x22
- .byte 0xb
- .uleb128 0xb
- .long .LC552
- .byte 0x22
- .byte 0x13
- .long 0x230b
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xc
- .string "key"
- .byte 0x22
- .byte 0x14
- .long 0x236f
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC504
- .byte 0x22
- .byte 0x15
- .long 0x560
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x2
- .long .LC568
- .byte 0x22
- .byte 0xc
- .long 0x2316
- .uleb128 0x5
- .byte 0x4
- .long 0x22d4
- .uleb128 0x2
- .long .LC569
- .byte 0x22
- .byte 0xd
- .long 0x2327
- .uleb128 0xa
- .long 0x235e
- .long .LC570
- .byte 0xc
- .byte 0x22
- .byte 0xd
- .uleb128 0xb
- .long .LC571
- .byte 0x22
- .byte 0x1a
- .long 0x237a
- .byte 0x2
- .byte 0x23
- .uleb128 0x0
- .uleb128 0xb
- .long .LC572
- .byte 0x22
- .byte 0x1b
- .long 0xc0
- .byte 0x2
- .byte 0x23
- .uleb128 0x4
- .uleb128 0xb
- .long .LC573
- .byte 0x22
- .byte 0x1c
- .long 0x2395
- .byte 0x2
- .byte 0x23
- .uleb128 0x8
- .byte 0x0
- .uleb128 0x2
- .long .LC574
- .byte 0x22
- .byte 0xe
- .long 0x2369
- .uleb128 0x5
- .byte 0x4
- .long 0x2327
- .uleb128 0x2
- .long .LC575
- .byte 0x22
- .byte 0xf
- .long 0xc0
- .uleb128 0x5
- .byte 0x4
- .long 0x230b
- .uleb128 0xe
- .long 0x2395
- .byte 0x1
- .long 0xc0
- .uleb128 0xf
- .long 0x235e
- .uleb128 0xf
- .long 0x236f
- .byte 0x0
- .uleb128 0x5
- .byte 0x4
- .long 0x2380
- .uleb128 0x21
- .long 0x23f1
- .byte 0x1
- .long .LC577
- .byte 0x1
- .byte 0x21
- .byte 0x1
- .byte 0x2
- .uleb128 0x22
- .string "sz"
- .byte 0x1
- .byte 0x20
- .long 0x23f1
- .uleb128 0x22
- .string "sy"
- .byte 0x1
- .byte 0x20
- .long 0x23f1
- .uleb128 0x22
- .string "key"
- .byte 0x1
- .byte 0x20
- .long 0x23f6
- .uleb128 0x23
- .long .LC576
- .byte 0x1
- .byte 0x20
- .long 0x23fc
- .uleb128 0x24
- .string "y"
- .byte 0x1
- .byte 0x22
- .long 0x201d
- .uleb128 0x24
- .string "z"
- .byte 0x1
- .byte 0x22
- .long 0x201d
- .uleb128 0x24
- .string "sum"
- .byte 0x1
- .byte 0x22
- .long 0x201d
- .byte 0x0
- .uleb128 0x10
- .long 0x201d
- .uleb128 0x5
- .byte 0x4
- .long 0x23f1
- .uleb128 0x5
- .byte 0x4
- .long 0x201d
- .uleb128 0x25
- .long 0x2447
- .long 0x239b
- .long .LFB19
- .long .LFE19
- .byte 0x1
- .byte 0x55
- .uleb128 0x26
- .long 0x23a9
- .byte 0x1
- .byte 0x51
- .uleb128 0x26
- .long 0x23b3
- .byte 0x2
- .byte 0x91
- .sleb128 12
- .uleb128 0x26
- .long 0x23bd
- .byte 0x1
- .byte 0x56
- .uleb128 0x26
- .long 0x23c8
- .byte 0x2
- .byte 0x91
- .sleb128 20
- .uleb128 0x27
- .long 0x23d3
- .byte 0x1
- .byte 0x52
- .uleb128 0x27
- .long 0x23dc
- .byte 0x1
- .byte 0x51
- .uleb128 0x28
- .long 0x23e5
- .byte 0x0
- .uleb128 0x21
- .long 0x249d
- .byte 0x1
- .long .LC578
- .byte 0x1
- .byte 0xa9
- .byte 0x1
- .byte 0x2
- .uleb128 0x22
- .string "sz"
- .byte 0x1
- .byte 0xa8
- .long 0x23f1
- .uleb128 0x22
- .string "sy"
- .byte 0x1
- .byte 0xa8
- .long 0x23f1
- .uleb128 0x22
- .string "key"
- .byte 0x1
- .byte 0xa8
- .long 0x23f6
- .uleb128 0x23
- .long .LC576
- .byte 0x1
- .byte 0xa8
- .long 0x23fc
- .uleb128 0x24
- .string "y"
- .byte 0x1
- .byte 0xaa
- .long 0x201d
- .uleb128 0x24
- .string "z"
- .byte 0x1
- .byte 0xaa
- .long 0x201d
- .uleb128 0x24
- .string "sum"
- .byte 0x1
- .byte 0xaa
- .long 0x201d
- .byte 0x0
- .uleb128 0x25
- .long 0x24e2
- .long 0x2447
- .long .LFB21
- .long .LFE21
- .byte 0x1
- .byte 0x55
- .uleb128 0x26
- .long 0x2455
- .byte 0x2
- .byte 0x91
- .sleb128 8
- .uleb128 0x26
- .long 0x245f
- .byte 0x1
- .byte 0x52
- .uleb128 0x26
- .long 0x2469
- .byte 0x1
- .byte 0x57
- .uleb128 0x26
- .long 0x2474
- .byte 0x2
- .byte 0x91
- .sleb128 20
- .uleb128 0x27
- .long 0x247f
- .byte 0x1
- .byte 0x52
- .uleb128 0x27
- .long 0x2488
- .byte 0x1
- .byte 0x51
- .uleb128 0x28
- .long 0x2491
- .byte 0x0
- .uleb128 0x29
- .long 0x2553
- .byte 0x1
- .long .LC579
- .byte 0x1
- .value 0x131
- .byte 0x1
- .long 0x78
- .long .LFB23
- .long .LFE23
- .byte 0x1
- .byte 0x55
- .uleb128 0x2a
- .long .LC576
- .byte 0x1
- .value 0x130
- .long 0x23fc
- .byte 0x1
- .byte 0x57
- .uleb128 0x2b
- .string "src"
- .byte 0x1
- .value 0x130
- .long 0x23f6
- .byte 0x1
- .byte 0x56
- .uleb128 0x2b
- .string "key"
- .byte 0x1
- .value 0x130
- .long 0x23f6
- .byte 0x2
- .byte 0x91
- .sleb128 16
- .uleb128 0x2a
- .long .LC572
- .byte 0x1
- .value 0x130
- .long 0x78
- .byte 0x1
- .byte 0x52
- .uleb128 0x2c
- .string "i"
- .byte 0x1
- .value 0x132
- .long 0x78
- .byte 0x1
- .byte 0x53
- .uleb128 0x2d
- .long .LC580
- .byte 0x1
- .value 0x133
- .long 0x78
- .byte 0x2
- .byte 0x91
- .sleb128 -16
- .byte 0x0
- .uleb128 0x29
- .long 0x25c4
- .byte 0x1
- .long .LC581
- .byte 0x1
- .value 0x144
- .byte 0x1
- .long 0x78
- .long .LFB25
- .long .LFE25
- .byte 0x1
- .byte 0x55
- .uleb128 0x2a
- .long .LC576
- .byte 0x1
- .value 0x143
- .long 0x23fc
- .byte 0x1
- .byte 0x57
- .uleb128 0x2b
- .string "src"
- .byte 0x1
- .value 0x143
- .long 0x23f6
- .byte 0x1
- .byte 0x56
- .uleb128 0x2b
- .string "key"
- .byte 0x1
- .value 0x143
- .long 0x23f6
- .byte 0x2
- .byte 0x91
- .sleb128 16
- .uleb128 0x2a
- .long .LC572
- .byte 0x1
- .value 0x143
- .long 0x78
- .byte 0x1
- .byte 0x52
- .uleb128 0x2c
- .string "i"
- .byte 0x1
- .value 0x145
- .long 0x78
- .byte 0x1
- .byte 0x53
- .uleb128 0x2d
- .long .LC580
- .byte 0x1
- .value 0x146
- .long 0x78
- .byte 0x2
- .byte 0x91
- .sleb128 -16
- .byte 0x0
- .uleb128 0x2e
- .long .LC582
- .byte 0xc
- .byte 0x5b
- .long 0xc88
- .byte 0x1
- .byte 0x1
- .uleb128 0x2e
- .long .LC583
- .byte 0xc
- .byte 0x5c
- .long 0x25de
- .byte 0x1
- .byte 0x1
- .uleb128 0x5
- .byte 0x4
- .long 0xc88
- .uleb128 0x11
- .long .LC584
- .byte 0x1
- .uleb128 0x11
- .long .LC585
- .byte 0x1
- .uleb128 0x2f
- .long .LC586
- .byte 0x1
- .byte 0x1e
- .long 0xbf7
- .byte 0x1
- .byte 0x5
- .byte 0x3
- .long tea_nilbuf
- .byte 0x0
- .section .debug_abbrev
- .uleb128 0x1
- .uleb128 0x11
- .byte 0x1
- .uleb128 0x10
- .uleb128 0x6
- .uleb128 0x12
- .uleb128 0x1
- .uleb128 0x11
- .uleb128 0x1
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x1b
- .uleb128 0xe
- .uleb128 0x25
- .uleb128 0xe
- .uleb128 0x13
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x2
- .uleb128 0x16
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x24
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3e
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x4
- .uleb128 0x24
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3e
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x5
- .uleb128 0xf
- .byte 0x0
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x6
- .uleb128 0x17
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x7
- .uleb128 0xd
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x8
- .uleb128 0x1
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x9
- .uleb128 0x21
- .byte 0x0
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x2f
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0xa
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0xb
- .uleb128 0xd
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x38
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0xc
- .uleb128 0xd
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x38
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0xd
- .uleb128 0xf
- .byte 0x0
- .uleb128 0xb
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0xe
- .uleb128 0x15
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x27
- .uleb128 0xc
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0xf
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x10
- .uleb128 0x26
- .byte 0x0
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x11
- .uleb128 0x13
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3c
- .uleb128 0xc
- .byte 0x0
- .byte 0x0
- .uleb128 0x12
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x13
- .uleb128 0x35
- .byte 0x0
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x14
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0xb
- .uleb128 0x5
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x15
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0x5
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x16
- .uleb128 0x16
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x17
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x18
- .uleb128 0x13
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .byte 0x0
- .byte 0x0
- .uleb128 0x19
- .uleb128 0xd
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x38
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x1a
- .uleb128 0x15
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x27
- .uleb128 0xc
- .byte 0x0
- .byte 0x0
- .uleb128 0x1b
- .uleb128 0x17
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x1c
- .uleb128 0x16
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x1d
- .uleb128 0x4
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x1e
- .uleb128 0x28
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x1c
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x1f
- .uleb128 0x13
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3c
- .uleb128 0xc
- .byte 0x0
- .byte 0x0
- .uleb128 0x20
- .uleb128 0x4
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0xb
- .uleb128 0xb
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x21
- .uleb128 0x2e
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3f
- .uleb128 0xc
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x27
- .uleb128 0xc
- .uleb128 0x20
- .uleb128 0xb
- .byte 0x0
- .byte 0x0
- .uleb128 0x22
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x23
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x24
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x25
- .uleb128 0x2e
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x31
- .uleb128 0x13
- .uleb128 0x11
- .uleb128 0x1
- .uleb128 0x12
- .uleb128 0x1
- .uleb128 0x40
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x26
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x31
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x27
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x31
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x28
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x31
- .uleb128 0x13
- .byte 0x0
- .byte 0x0
- .uleb128 0x29
- .uleb128 0x2e
- .byte 0x1
- .uleb128 0x1
- .uleb128 0x13
- .uleb128 0x3f
- .uleb128 0xc
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x27
- .uleb128 0xc
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x11
- .uleb128 0x1
- .uleb128 0x12
- .uleb128 0x1
- .uleb128 0x40
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x2a
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x2b
- .uleb128 0x5
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x2c
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x3
- .uleb128 0x8
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x2d
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0x5
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .uleb128 0x2e
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x3f
- .uleb128 0xc
- .uleb128 0x3c
- .uleb128 0xc
- .byte 0x0
- .byte 0x0
- .uleb128 0x2f
- .uleb128 0x34
- .byte 0x0
- .uleb128 0x3
- .uleb128 0xe
- .uleb128 0x3a
- .uleb128 0xb
- .uleb128 0x3b
- .uleb128 0xb
- .uleb128 0x49
- .uleb128 0x13
- .uleb128 0x3f
- .uleb128 0xc
- .uleb128 0x2
- .uleb128 0xa
- .byte 0x0
- .byte 0x0
- .byte 0x0
- .section .debug_pubnames,"",@progbits
- .long 0x59
- .value 0x2
- .long .Ldebug_info0
- .long 0x2603
- .long 0x2402
- .string "tea_code"
- .long 0x249d
- .string "tea_decode"
- .long 0x24e2
- .string "tea_encrypt"
- .long 0x2553
- .string "tea_decrypt"
- .long 0x25f0
- .string "tea_nilbuf"
- .long 0x0
- .section .debug_aranges,"",@progbits
- .long 0x1c
- .value 0x2
- .long .Ldebug_info0
- .byte 0x4
- .byte 0x0
- .value 0x0
- .value 0x0
- .long .Ltext0
- .long .Letext0-.Ltext0
- .long 0x0
- .long 0x0
- .section .debug_str,"MS",@progbits,1
-.LC409:
- .string "sc_eax"
-.LC316:
- .string "cmcred_euid"
-.LC37:
- .string "__time_t"
-.LC393:
- .string "ai_next"
-.LC565:
- .string "NUM_PF"
-.LC82:
- .string "__wchar_t"
-.LC241:
- .string "clockinfo"
-.LC199:
- .string "_RuneRange"
-.LC92:
- .string "_size"
-.LC124:
- .string "int64_t"
-.LC197:
- .string "nranges"
-.LC301:
- .string "msghdr"
-.LC581:
- .string "tea_decrypt"
-.LC290:
- .string "sa_family"
-.LC186:
- .string "sigset_t"
-.LC477:
- .string "pthread_key_t"
-.LC216:
- .string "d_reclen"
-.LC392:
- .string "ai_addr"
-.LC313:
- .string "cmsgcred"
-.LC195:
- .string "types"
-.LC310:
- .string "cmsg_len"
-.LC478:
- .string "pthread_once_t"
-.LC510:
- .string "UBYTE"
-.LC399:
- .string "sc_fs"
-.LC203:
- .string "sputrune"
-.LC573:
- .string "hashfunc"
-.LC346:
- .string "sin6_len"
-.LC556:
- .string "length"
-.LC557:
- .string "mem_data"
-.LC276:
- .string "nstat"
-.LC385:
- .string "addrinfo"
-.LC127:
- .string "uint32_t"
-.LC245:
- .string "profhz"
-.LC340:
- .string "__u6_addr8"
-.LC183:
- .string "tv_nsec"
-.LC404:
- .string "sc_ebp"
-.LC383:
- .string "p_aliases"
-.LC277:
- .string "iovec"
-.LC513:
- .string "bool"
-.LC7:
- .string "short unsigned int"
-.LC217:
- .string "d_type"
-.LC42:
- .string "__uint_fast16_t"
-.LC97:
- .string "_lbfsize"
-.LC357:
- .string "ipv6mr_multiaddr"
-.LC253:
- .string "tm_yday"
-.LC3:
- .string "unsigned char"
-.LC439:
- .string "si_addr"
-.LC129:
- .string "intptr_t"
-.LC343:
- .string "in6_addr"
-.LC79:
- .string "__useconds_t"
-.LC226:
- .string "dd_seek"
-.LC156:
- .string "mode_t"
-.LC286:
- .string "af_name"
-.LC192:
- .string "l_pid"
-.LC170:
- .string "useconds_t"
-.LC374:
- .string "n_addrtype"
-.LC362:
- .string "ip6_mtuinfo"
-.LC158:
- .string "off_t"
-.LC497:
- .string "MUTEX_TYPE_MAX"
-.LC516:
- .string "BYTE"
-.LC179:
- .string "timeval"
-.LC570:
- .string "yhash"
-.LC349:
- .string "sin6_flowinfo"
-.LC93:
- .string "__sbuf"
-.LC398:
- .string "sc_gs"
-.LC411:
- .string "sc_err"
-.LC272:
- .string "st_gen"
-.LC101:
- .string "_seek"
-.LC306:
- .string "msg_control"
-.LC387:
- .string "ai_family"
-.LC89:
- .string "size_t"
-.LC419:
- .string "sc_ownedfp"
-.LC422:
- .string "sc_spare2"
-.LC467:
- .string "pthread_attr_t"
-.LC348:
- .string "sin6_port"
-.LC338:
- .string "imr_multiaddr"
-.LC539:
- .string "fd_data"
-.LC83:
- .string "__wint_t"
-.LC293:
- .string "sp_family"
-.LC391:
- .string "ai_canonname"
-.LC153:
- .string "id_t"
-.LC39:
- .string "__uintmax_t"
-.LC303:
- .string "msg_namelen"
-.LC442:
- .string "__spare__"
-.LC408:
- .string "sc_ecx"
-.LC420:
- .string "sc_spare1"
-.LC70:
- .string "__off_t"
-.LC214:
- .string "dirent"
-.LC533:
- .string "fdwatch"
-.LC515:
- .string "BOOL"
-.LC36:
- .string "__ssize_t"
-.LC41:
- .string "__uint_fast8_t"
-.LC347:
- .string "sin6_family"
-.LC287:
- .string "af_arg"
-.LC445:
- .string "__sa_sigaction"
-.LC464:
- .string "sched_priority"
-.LC559:
- .string "flag"
-.LC403:
- .string "sc_esi"
-.LC181:
- .string "tv_usec"
-.LC339:
- .string "imr_interface"
-.LC61:
- .string "__fsfilcnt_t"
-.LC483:
- .string "pthread_rwlock"
-.LC164:
- .string "suseconds_t"
-.LC415:
- .string "sc_esp"
-.LC457:
- .string "sigvec"
-.LC149:
- .string "fsfilcnt_t"
-.LC358:
- .string "ipv6mr_interface"
-.LC525:
- .string "before_sleep"
-.LC509:
- .string "QWORD"
-.LC402:
- .string "sc_edi"
-.LC322:
- .string "msg_accrights"
-.LC443:
- .string "siginfo_t"
-.LC256:
- .string "tm_zone"
-.LC397:
- .string "sc_onstack"
-.LC294:
- .string "sp_protocol"
-.LC94:
- .string "__sFILE"
-.LC85:
- .string "__mbstate8"
-.LC494:
- .string "PTHREAD_MUTEX_ERRORCHECK"
-.LC407:
- .string "sc_edx"
-.LC590:
- .string "sigval"
-.LC255:
- .string "tm_gmtoff"
-.LC331:
- .string "sockaddr_in"
-.LC296:
- .string "ss_len"
-.LC117:
- .string "u_int"
-.LC207:
- .string "mapupper"
-.LC511:
- .string "sbyte"
-.LC121:
- .string "int8_t"
-.LC184:
- .string "__fd_mask"
-.LC544:
- .string "FDW_WRITE"
-.LC562:
- .string "ENUM_PROFILER"
-.LC501:
- .string "filter"
-.LC551:
- .string "buffer"
-.LC521:
- .string "socket_t"
-.LC375:
- .string "n_net"
-.LC230:
- .string "dd_td"
-.LC77:
- .string "__udev_t"
-.LC446:
- .string "sigaction"
-.LC324:
- .string "sf_hdtr"
-.LC314:
- .string "cmcred_pid"
-.LC500:
- .string "ident"
-.LC332:
- .string "sin_len"
-.LC454:
- .string "ss_size"
-.LC297:
- .string "ss_family"
-.LC356:
- .string "ipv6_mreq"
-.LC204:
- .string "invalid_rune"
-.LC514:
- .string "DWORD"
-.LC576:
- .string "dest"
-.LC136:
- .string "quad_t"
-.LC589:
- .string "GNU C 3.3.3 [FreeBSD] 20031106"
-.LC492:
- .string "pthread_addr_t"
-.LC112:
- .string "div_t"
-.LC359:
- .string "in6_pktinfo"
-.LC498:
- .string "sem_t"
-.LC469:
- .string "pthread_mutex_t"
-.LC189:
- .string "flock"
-.LC549:
- .string "KQUEUE"
-.LC528:
- .string "passes_per_sec"
-.LC429:
- .string "sigev_notify"
-.LC248:
- .string "tm_hour"
-.LC476:
- .string "pthread_cond_attr"
-.LC133:
- .string "u_int32_t"
-.LC532:
- .string "FDWATCH"
-.LC212:
- .string "variable_len"
-.LC410:
- .string "sc_trapno"
-.LC395:
- .string "sigcontext"
-.LC530:
- .string "LPHEART"
-.LC289:
- .string "sa_len"
-.LC99:
- .string "_close"
-.LC541:
- .string "LPFDWATCH"
-.LC271:
- .string "st_flags"
-.LC376:
- .string "servent"
-.LC154:
- .string "ino_t"
-.LC425:
- .string "sigval_ptr"
-.LC561:
- .string "pthread_mutextype"
-.LC88:
- .string "fpos_t"
-.LC32:
- .string "__ptrdiff_t"
-.LC13:
- .string "__uint64_t"
-.LC175:
- .string "vm_size_t"
-.LC159:
- .string "pid_t"
-.LC20:
- .string "__float_t"
-.LC191:
- .string "l_len"
-.LC221:
- .string "dd_fd"
-.LC91:
- .string "_base"
-.LC522:
- .string "HEART"
-.LC378:
- .string "s_aliases"
-.LC63:
- .string "__id_t"
-.LC453:
- .string "ss_sp"
-.LC187:
- .string "fd_set"
-.LC55:
- .string "__va_list"
-.LC98:
- .string "_cookie"
-.LC517:
- .string "WORD"
-.LC566:
- .string "HASHNODE"
-.LC302:
- .string "msg_name"
-.LC351:
- .string "sin6_scope_id"
-.LC86:
- .string "_mbstateL"
-.LC114:
- .string "lldiv_t"
-.LC18:
- .string "__double_t"
-.LC574:
- .string "LPHASH"
-.LC345:
- .string "sockaddr_in6"
-.LC578:
- .string "tea_decode"
-.LC17:
- .string "__critical_t"
-.LC100:
- .string "_read"
-.LC265:
- .string "st_size"
-.LC71:
- .string "__pid_t"
-.LC229:
- .string "dd_lock"
-.LC520:
- .string "UINT"
-.LC106:
- .string "_blksize"
-.LC496:
- .string "PTHREAD_MUTEX_NORMAL"
-.LC321:
- .string "omsghdr"
-.LC264:
- .string "st_rdev"
-.LC16:
- .string "long unsigned int"
-.LC506:
- .string "klist"
-.LC103:
- .string "_extra"
-.LC155:
- .string "key_t"
-.LC137:
- .string "qaddr_t"
-.LC564:
- .string "PF_HEARTBEAT"
-.LC236:
- .string "bintime"
-.LC242:
- .string "tick"
-.LC205:
- .string "runetype"
-.LC263:
- .string "st_gid"
-.LC568:
- .string "LPHASHNODE"
-.LC463:
- .string "sched_param"
-.LC232:
- .string "_telldir"
-.LC538:
- .string "fd_event_idx"
-.LC219:
- .string "d_name"
-.LC76:
- .string "__timer_t"
-.LC211:
- .string "variable"
-.LC295:
- .string "sockaddr_storage"
-.LC9:
- .string "__uint32_t"
-.LC587:
- .string "tea.c"
-.LC141:
- .string "clock_t"
-.LC50:
- .string "__vm_offset_t"
-.LC575:
- .string "KEYT"
-.LC396:
- .string "sc_mask"
-.LC486:
- .string "pthread_barrier_t"
-.LC270:
- .string "st_blocks"
-.LC473:
- .string "pthread_cond_t"
-.LC547:
- .string "KEVENT"
-.LC65:
- .string "__key_t"
-.LC312:
- .string "cmsg_type"
-.LC145:
- .string "dev_t"
-.LC466:
- .string "pthread"
-.LC111:
- .string "quot"
-.LC584:
- .string "rusage"
-.LC231:
- .string "__sFILEX"
-.LC344:
- .string "__u6_addr"
-.LC171:
- .string "vm_offset_t"
-.LC430:
- .string "__sigev_u"
-.LC459:
- .string "sv_mask"
-.LC28:
- .string "__int_least8_t"
-.LC485:
- .string "pthread_rwlockattr"
-.LC104:
- .string "_ubuf"
-.LC284:
- .string "l_linger"
-.LC209:
- .string "maplower_ext"
-.LC105:
- .string "_nbuf"
-.LC51:
- .string "__vm_ooffset_t"
-.LC146:
- .string "fflags_t"
-.LC555:
- .string "read_point"
-.LC261:
- .string "st_nlink"
-.LC5:
- .string "short int"
-.LC128:
- .string "uint64_t"
-.LC298:
- .string "__ss_pad1"
-.LC300:
- .string "__ss_pad2"
-.LC84:
- .string "__dev_t"
-.LC169:
- .string "uid_t"
-.LC455:
- .string "ss_flags"
-.LC479:
- .string "pthread_once"
-.LC251:
- .string "tm_year"
-.LC31:
- .string "__int_least64_t"
-.LC12:
- .string "long long int"
-.LC246:
- .string "tm_sec"
-.LC505:
- .string "udata"
-.LC354:
- .string "ro_dst"
-.LC54:
- .string "__vm_size_t"
-.LC484:
- .string "pthread_rwlockattr_t"
-.LC193:
- .string "l_type"
-.LC147:
- .string "fixpt_t"
-.LC360:
- .string "ipi6_addr"
-.LC53:
- .string "__vm_pindex_t"
-.LC334:
- .string "sin_port"
-.LC433:
- .string "si_signo"
-.LC188:
- .string "__fds_bits"
-.LC503:
- .string "fflags"
-.LC524:
- .string "func"
-.LC329:
- .string "in_addr"
-.LC144:
- .string "daddr_t"
-.LC14:
- .string "long long unsigned int"
-.LC558:
- .string "mem_size"
-.LC282:
- .string "linger"
-.LC78:
- .string "__uid_t"
-.LC462:
- .string "ss_onstack"
-.LC588:
- .string "/home/work/libthecore/src"
-.LC220:
- .string "_dirdesc"
-.LC108:
- .string "FILE"
-.LC327:
- .string "trailers"
-.LC6:
- .string "__uint16_t"
-.LC157:
- .string "nlink_t"
-.LC269:
- .string "st_blksize"
-.LC527:
- .string "last_time"
-.LC162:
- .string "segsz_t"
-.LC173:
- .string "vm_paddr_t"
-.LC508:
- .string "knote"
-.LC172:
- .string "vm_ooffset_t"
-.LC488:
- .string "pthread_barrierattr_t"
-.LC328:
- .string "trl_cnt"
-.LC472:
- .string "pthread_mutex_attr"
-.LC292:
- .string "sockproto"
-.LC56:
- .string "char"
-.LC249:
- .string "tm_mday"
-.LC113:
- .string "ldiv_t"
-.LC434:
- .string "si_errno"
-.LC218:
- .string "d_namlen"
-.LC560:
- .string "LPBUFFER"
-.LC412:
- .string "sc_eip"
-.LC309:
- .string "cmsghdr"
-.LC502:
- .string "flags"
-.LC225:
- .string "dd_len"
-.LC352:
- .string "route_in6"
-.LC258:
- .string "st_dev"
-.LC198:
- .string "ranges"
-.LC499:
- .string "kevent"
-.LC512:
- .string "sh_int"
-.LC278:
- .string "iov_base"
-.LC563:
- .string "PF_IDLE"
-.LC123:
- .string "int32_t"
-.LC208:
- .string "runetype_ext"
-.LC554:
- .string "write_point_pos"
-.LC273:
- .string "stat"
-.LC582:
- .string "_DefaultRuneLocale"
-.LC580:
- .string "resize"
-.LC545:
- .string "FDW_WRITE_ONESHOT"
-.LC237:
- .string "frac"
-.LC30:
- .string "__int_least32_t"
-.LC288:
- .string "sockaddr"
-.LC394:
- .string "sig_atomic_t"
-.LC438:
- .string "si_status"
-.LC495:
- .string "PTHREAD_MUTEX_RECURSIVE"
-.LC474:
- .string "pthread_cond"
-.LC196:
- .string "_RuneEntry"
-.LC125:
- .string "uint8_t"
-.LC274:
- .string "st_lspare"
-.LC353:
- .string "ro_rt"
-.LC418:
- .string "sc_fpformat"
-.LC81:
- .string "__rune_t"
-.LC27:
- .string "__int_fast64_t"
-.LC57:
- .string "__gnuc_va_list"
-.LC80:
- .string "__ct_rune_t"
-.LC330:
- .string "s_addr"
-.LC390:
- .string "ai_addrlen"
-.LC366:
- .string "h_name"
-.LC382:
- .string "p_name"
-.LC491:
- .string "pthread_spinlock"
-.LC337:
- .string "ip_mreq"
-.LC138:
- .string "caddr_t"
-.LC384:
- .string "p_proto"
-.LC178:
- .string "__sigset_t"
-.LC166:
- .string "timer_t"
-.LC585:
- .string "pthread_barrier_attr"
-.LC569:
- .string "HASH"
-.LC456:
- .string "stack_t"
-.LC304:
- .string "msg_iov"
-.LC120:
- .string "uint"
-.LC535:
- .string "kqevents"
-.LC447:
- .string "__sigaction_u"
-.LC449:
- .string "sa_mask"
-.LC470:
- .string "pthread_mutex"
-.LC311:
- .string "cmsg_level"
-.LC168:
- .string "udev_t"
-.LC177:
- .string "__bits"
-.LC361:
- .string "ipi6_ifindex"
-.LC48:
- .string "__uint_least64_t"
-.LC542:
- .string "FDW_NONE"
-.LC280:
- .string "sa_family_t"
-.LC259:
- .string "st_ino"
-.LC317:
- .string "cmcred_gid"
-.LC440:
- .string "si_value"
-.LC487:
- .string "pthread_barrier"
-.LC437:
- .string "si_uid"
-.LC281:
- .string "socklen_t"
-.LC335:
- .string "sin_addr"
-.LC139:
- .string "c_caddr_t"
-.LC95:
- .string "_flags"
-.LC283:
- .string "l_onoff"
-.LC182:
- .string "timespec"
-.LC482:
- .string "pthread_rwlock_t"
-.LC240:
- .string "it_value"
-.LC318:
- .string "cmcred_ngroups"
-.LC23:
- .string "__intptr_t"
-.LC122:
- .string "int16_t"
-.LC364:
- .string "ip6m_mtu"
-.LC421:
- .string "sc_fpstate"
-.LC38:
- .string "__uintfptr_t"
-.LC423:
- .string "__sighandler_t"
-.LC252:
- .string "tm_wday"
-.LC75:
- .string "__suseconds_t"
-.LC49:
- .string "__u_register_t"
-.LC29:
- .string "__int_least16_t"
-.LC110:
- .string "wchar_t"
-.LC436:
- .string "si_pid"
-.LC536:
- .string "nkqevents"
-.LC223:
- .string "dd_size"
-.LC26:
- .string "__int_fast32_t"
-.LC323:
- .string "msg_accrightslen"
-.LC553:
- .string "write_point"
-.LC234:
- .string "tz_minuteswest"
-.LC490:
- .string "pthread_spinlock_t"
-.LC367:
- .string "h_aliases"
-.LC21:
- .string "__intfptr_t"
-.LC319:
- .string "cmcred_groups"
-.LC2:
- .string "signed char"
-.LC368:
- .string "h_addrtype"
-.LC305:
- .string "msg_iovlen"
-.LC461:
- .string "sigstack"
-.LC47:
- .string "__uint_least32_t"
-.LC341:
- .string "__u6_addr16"
-.LC388:
- .string "ai_socktype"
-.LC33:
- .string "__register_t"
-.LC435:
- .string "si_code"
-.LC201:
- .string "encoding"
-.LC67:
- .string "__mode_t"
-.LC238:
- .string "itimerval"
-.LC160:
- .string "register_t"
-.LC130:
- .string "uintptr_t"
-.LC235:
- .string "tz_dsttime"
-.LC507:
- .string "slh_first"
-.LC202:
- .string "sgetrune"
-.LC424:
- .string "sigval_int"
-.LC552:
- .string "next"
-.LC546:
- .string "FDW_EOF"
-.LC206:
- .string "maplower"
-.LC142:
- .string "clockid_t"
-.LC380:
- .string "s_proto"
-.LC224:
- .string "dd_buf"
-.LC10:
- .string "unsigned int"
-.LC45:
- .string "__uint_least8_t"
-.LC414:
- .string "sc_efl"
-.LC267:
- .string "st_mtimespec"
-.LC320:
- .string "osockaddr"
-.LC35:
- .string "__size_t"
-.LC118:
- .string "u_long"
-.LC326:
- .string "hdr_cnt"
-.LC244:
- .string "stathz"
-.LC405:
- .string "sc_isp"
-.LC531:
- .string "HEARTFUNC"
-.LC371:
- .string "netent"
-.LC475:
- .string "pthread_condattr_t"
-.LC537:
- .string "kqrevents"
-.LC572:
- .string "size"
-.LC134:
- .string "u_int64_t"
-.LC373:
- .string "n_aliases"
-.LC190:
- .string "l_start"
-.LC432:
- .string "__siginfo"
-.LC386:
- .string "ai_flags"
-.LC431:
- .string "sigev_value"
-.LC504:
- .string "data"
-.LC15:
- .string "__clock_t"
-.LC250:
- .string "tm_mon"
-.LC365:
- .string "hostent"
-.LC194:
- .string "l_whence"
-.LC25:
- .string "__int_fast16_t"
-.LC315:
- .string "cmcred_uid"
-.LC493:
- .string "pthread_startroutine_t"
-.LC452:
- .string "sigaltstack"
-.LC143:
- .string "critical_t"
-.LC543:
- .string "FDW_READ"
-.LC308:
- .string "msg_flags"
-.LC428:
- .string "sigevent"
-.LC567:
- .string "yhash_node"
-.LC579:
- .string "tea_encrypt"
-.LC489:
- .string "pthread_barrierattr"
-.LC115:
- .string "u_char"
-.LC74:
- .string "__socklen_t"
-.LC426:
- .string "__sigev_signo"
-.LC163:
- .string "ssize_t"
-.LC325:
- .string "headers"
-.LC369:
- .string "h_length"
-.LC228:
- .string "dd_flags"
-.LC518:
- .string "LONG"
-.LC11:
- .string "__int64_t"
-.LC279:
- .string "iov_len"
-.LC268:
- .string "st_ctimespec"
-.LC227:
- .string "dd_rewind"
-.LC465:
- .string "pthread_t"
-.LC583:
- .string "_CurrentRuneLocale"
-.LC46:
- .string "__uint_least16_t"
-.LC370:
- .string "h_addr_list"
-.LC451:
- .string "__siginfohandler_t"
-.LC210:
- .string "mapupper_ext"
-.LC471:
- .string "pthread_mutexattr_t"
-.LC540:
- .string "fd_rw"
-.LC534:
- .string "nfiles"
-.LC96:
- .string "_file"
-.LC151:
- .string "in_addr_t"
-.LC427:
- .string "__sigev_notify_kqueue"
-.LC68:
- .string "__nl_item"
-.LC586:
- .string "tea_nilbuf"
-.LC0:
- .string "__int8_t"
-.LC333:
- .string "sin_family"
-.LC233:
- .string "timezone"
-.LC336:
- .string "sin_zero"
-.LC60:
- .string "__fsblkcnt_t"
-.LC150:
- .string "gid_t"
-.LC577:
- .string "tea_code"
-.LC285:
- .string "accept_filter_arg"
-.LC550:
- .string "BUFFER"
-.LC148:
- .string "fsblkcnt_t"
-.LC222:
- .string "dd_loc"
-.LC275:
- .string "st_birthtimespec"
-.LC413:
- .string "sc_cs"
-.LC69:
- .string "__nlink_t"
-.LC34:
- .string "__segsz_t"
-.LC107:
- .string "_offset"
-.LC185:
- .string "fd_mask"
-.LC116:
- .string "u_short"
-.LC526:
- .string "opt_time"
-.LC243:
- .string "spare"
-.LC140:
- .string "v_caddr_t"
-.LC350:
- .string "sin6_addr"
-.LC87:
- .string "__mbstate_t"
-.LC213:
- .string "_RuneLocale"
-.LC44:
- .string "__uint_fast64_t"
-.LC119:
- .string "ushort"
-.LC215:
- .string "d_fileno"
-.LC372:
- .string "n_name"
-.LC40:
- .string "__uintptr_t"
-.LC62:
- .string "__gid_t"
-.LC257:
- .string "ostat"
-.LC406:
- .string "sc_ebx"
-.LC468:
- .string "pthread_attr"
-.LC58:
- .string "__clockid_t"
-.LC548:
- .string "LPKEVENT"
-.LC8:
- .string "__int32_t"
-.LC22:
- .string "__intmax_t"
-.LC200:
- .string "magic"
-.LC444:
- .string "__sa_handler"
-.LC416:
- .string "sc_ss"
-.LC52:
- .string "__vm_paddr_t"
-.LC239:
- .string "it_interval"
-.LC379:
- .string "s_port"
-.LC523:
- .string "heart"
-.LC342:
- .string "__u6_addr32"
-.LC377:
- .string "s_name"
-.LC450:
- .string "sig_t"
-.LC102:
- .string "_write"
-.LC1:
- .string "__uint8_t"
-.LC363:
- .string "ip6m_addr"
-.LC481:
- .string "mutex"
-.LC460:
- .string "sv_flags"
-.LC180:
- .string "tv_sec"
-.LC260:
- .string "st_mode"
-.LC254:
- .string "tm_isdst"
-.LC64:
- .string "__ino_t"
-.LC299:
- .string "__ss_align"
-.LC448:
- .string "sa_flags"
-.LC381:
- .string "protoent"
-.LC126:
- .string "uint16_t"
-.LC176:
- .string "__sigset"
-.LC401:
- .string "sc_ds"
-.LC66:
- .string "long int"
-.LC355:
- .string "rtentry"
-.LC131:
- .string "u_int8_t"
-.LC519:
- .string "ULONG"
-.LC152:
- .string "in_port_t"
-.LC109:
- .string "rune_t"
-.LC72:
- .string "__rlim_t"
-.LC291:
- .string "sa_data"
-.LC132:
- .string "u_int16_t"
-.LC19:
- .string "double"
-.LC417:
- .string "sc_len"
-.LC165:
- .string "time_t"
-.LC43:
- .string "__uint_fast32_t"
-.LC90:
- .string "va_list"
-.LC24:
- .string "__int_fast8_t"
-.LC135:
- .string "u_quad_t"
-.LC529:
- .string "pulse"
-.LC247:
- .string "tm_min"
-.LC167:
- .string "u_register_t"
-.LC571:
- .string "table"
-.LC307:
- .string "msg_controllen"
-.LC400:
- .string "sc_es"
-.LC262:
- .string "st_uid"
-.LC389:
- .string "ai_protocol"
-.LC480:
- .string "state"
-.LC441:
- .string "si_band"
-.LC266:
- .string "st_atimespec"
-.LC161:
- .string "rlim_t"
-.LC73:
- .string "__sa_family_t"
-.LC59:
- .string "__fflags_t"
-.LC174:
- .string "vm_pindex_t"
-.LC458:
- .string "sv_handler"
-.LC4:
- .string "__int16_t"
- .ident "GCC: (GNU) 3.3.3 [FreeBSD] 20031106"
diff --git a/libthecore/src/utils.cpp b/libthecore/src/utils.cpp
index b358b92..db2ef21 100644
--- a/libthecore/src/utils.cpp
+++ b/libthecore/src/utils.cpp
@@ -137,7 +137,7 @@ void trim_and_lower(const char * src, char * dest, size_t dest_size)
// տ ĭ dz ٱ
while (*tmp)
{
- if (!isnhspace(*tmp))
+ if (!isspace(*tmp))
break;
tmp++;
@@ -160,7 +160,7 @@ void trim_and_lower(const char * src, char * dest, size_t dest_size)
// ڿ ĭ
--dest;
- while (*dest && isnhspace(*dest) && len--)
+ while (*dest && isspace(*dest) && len--)
*(dest--) = '\0';
}
}
@@ -240,7 +240,7 @@ void parse_token(char *src, char *token, char *value)
for (tmp = src; *tmp && *tmp != ':'; tmp++)
{
- if (isnhspace(*tmp))
+ if (isspace(*tmp))
continue;
*(token++) = LOWER(*tmp);
@@ -272,7 +272,7 @@ struct tm * tm_calc(const struct tm * curr_tm, int days)
new_tm = *localtime(&time_s);
}
else
- thecore_memcpy(&new_tm, curr_tm, sizeof(struct tm));
+ memcpy(&new_tm, curr_tm, sizeof(struct tm));
if (new_tm.tm_mon == 1)
{
diff --git a/libthecore/src/xmd5.cpp b/libthecore/src/xmd5.cpp
deleted file mode 100644
index 2075da4..0000000
--- a/libthecore/src/xmd5.cpp
+++ /dev/null
@@ -1,345 +0,0 @@
-#include "stdafx.h"
-
-#ifndef __FreeBSD__
-
-/*
- * luau (Lib Update/Auto-Update): Simple Update Library
- * Copyright (C) 2003 David Eklund
- *
- * - This library is free software; you can redistribute it and/or -
- * - modify it under the terms of the GNU Lesser General Public -
- * - License as published by the Free Software Foundation; either -
- * - version 2.1 of the License, or (at your option) any later version. -
- * - -
- * - This library is distributed in the hope that it will be useful, -
- * - but WITHOUT ANY WARRANTY; without even the implied warranty of -
- * - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -
- * - Lesser General Public License for more details. -
- * - -
- * - You should have received a copy of the GNU Lesser General Public -
- * - License along with this library; if not, write to the Free Software -
- * - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -
- */
-
-/*
- * md5.h and md5.c are based off of md5hl.c, md5c.c, and md5.h from libmd, which in turn is
- * based off the FreeBSD libmd library. Their respective copyright notices follow:
- */
-
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- */
-
-/* ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $Id: md5.c,v 1.1.1.1 2004/04/02 05:11:38 deklund2 Exp $
- *
- */
-
-#include "xmd5.h"
-
-#if __BYTE_ORDER == 1234
-#define byteReverse(buf, len) /* Nothing */
-#else
-void byteReverse(unsigned char *buf, unsigned longs);
-
-/*
- * Note: this code is harmless on little-endian machines.
- */
-void byteReverse(unsigned char *buf, unsigned longs)
-{
- uint32_t t;
- do {
- t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
- ((unsigned) buf[1] << 8 | buf[0]);
- *(uint32_t *) buf = t;
- buf += 4;
- } while (--longs);
-}
-#endif /* ! __BYTE_ORDER == 1234 */
-
-
-
-
-char *
-lutil_md5_file (const char *filename, char *buf)
-{
- unsigned char buffer[BUFSIZ];
- MD5_CTX ctx;
- int f,i,j;
-
- MD5Init(&ctx);
-
-#ifndef __WIN32__
- f = open(filename,O_RDONLY);
-#else
- f = _open(filename, _O_RDONLY);
-#endif
- if (f < 0) return 0;
- while ((i = read(f,buffer,sizeof buffer)) > 0) {
- MD5Update(&ctx,buffer,i);
- }
- j = errno;
- close(f);
- errno = j;
- if (i < 0) return 0;
- return MD5End(&ctx, buf);
-}
-
-char *
-lutil_md5_data (const unsigned char *data, unsigned int len, char *buf)
-{
- MD5_CTX ctx;
-
- MD5Init(&ctx);
- MD5Update(&ctx,data,len);
- return MD5End(&ctx, buf);
-}
-
-
-/* Non-Interface Methods */
-
-/* from md5hl.c */
-
-char *
-MD5End(MD5_CTX *ctx, char *buf)
-{
- int i;
- unsigned char digest[MD5_HASHBYTES];
- static const char hex[]="0123456789abcdef";
-
- if (!buf)
- buf = (char*)malloc(33);
- if (!buf)
- return 0;
- MD5Final(digest,ctx);
- for (i=0;i> 4];
- buf[i+i+1] = hex[digest[i] & 0x0f];
- }
- buf[i+i] = '\0';
- return buf;
-}
-
-/*
- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-void MD5Init(MD5_CTX *ctx)
-{
- ctx->buf[0] = 0x67452301;
- ctx->buf[1] = 0xefcdab89;
- ctx->buf[2] = 0x98badcfe;
- ctx->buf[3] = 0x10325476;
-
- ctx->bits[0] = 0;
- ctx->bits[1] = 0;
-}
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-void MD5Update(MD5_CTX *ctx, unsigned char const *buf, unsigned len)
-{
- uint32_t t;
-
- /* Update bitcount */
-
- t = ctx->bits[0];
- if ((ctx->bits[0] = t + ((uint32_t) len << 3)) < t)
- ctx->bits[1]++; /* Carry from low to high */
- ctx->bits[1] += len >> 29;
-
- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
-
- /* Handle any leading odd-sized chunks */
-
- if (t) {
- unsigned char *p = (unsigned char *) ctx->in + t;
-
- t = 64 - t;
- if (len < t) {
- memcpy(p, buf, len);
- return;
- }
- memcpy(p, buf, t);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- buf += t;
- len -= t;
- }
- /* Process data in 64-byte chunks */
-
- while (len >= 64) {
- memcpy(ctx->in, buf, 64);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- buf += 64;
- len -= 64;
- }
-
- /* Handle any remaining bytes of data. */
-
- memcpy(ctx->in, buf, len);
-}
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
- * 1 0* (64-bit count of bits processed, MSB-first)
- */
-void MD5Final(unsigned char digest[16], MD5_CTX *ctx)
-{
- unsigned count;
- unsigned char *p;
-
- /* Compute number of bytes mod 64 */
- count = (ctx->bits[0] >> 3) & 0x3F;
-
- /* Set the first char of padding to 0x80. This is safe since there is
- always at least one byte free */
- p = ctx->in + count;
- *p++ = 0x80;
-
- /* Bytes of padding needed to make 64 bytes */
- count = 64 - 1 - count;
-
- /* Pad out to 56 mod 64 */
- if (count < 8) {
- /* Two lots of padding: Pad the first block to 64 bytes */
- memset(p, 0, count);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
-
- /* Now fill the next block with 56 bytes */
- memset(ctx->in, 0, 56);
- } else {
- /* Pad block to 56 bytes */
- memset(p, 0, count - 8);
- }
- byteReverse(ctx->in, 14);
-
- /* Append length in bits and transform */
- ((uint32_t *) ctx->in)[14] = ctx->bits[0];
- ((uint32_t *) ctx->in)[15] = ctx->bits[1];
-
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- byteReverse((unsigned char *) ctx->buf, 4);
- memcpy(digest, ctx->buf, 16);
- memset((char *) ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-}
-
-/* The four core functions - F1 is optimized somewhat */
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f, w, x, y, z, data, s) \
- ( w += f(x, y, z) + data, w = w<>(32-s), w += x )
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data. MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-void MD5Transform(uint32_t buf[4], uint32_t const in[16])
-{
- register uint32_t a, b, c, d;
-
- a = buf[0];
- b = buf[1];
- c = buf[2];
- d = buf[3];
-
- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-#endif // #ifndef __FreeBSD__
\ No newline at end of file