[Diablo 3][0.2.0.7200] Info Dump Thread menu

User Tag List

Results 1 to 6 of 6
  1. #1
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Diablo 3][0.2.0.7200] Info Dump Thread

    Been working some one Diablo III lately.
    If anyone else has worked on it feel free to post. (sharing is caring )

    Links to the client if you need it.
    PC
    http://us.media.battle.net.edgesuite.net/downloads/d3-installers/4de82d80-ddeb-4e61-80ae-b4e8817f54b0/Diablo-III-Beta-enUS-Setup.exe

    Mac
    http://us.media.battle.net.edgesuite.net/downloads/d3-installers/4de82d80-ddeb-4e61-80ae-b4e8817f54b0/Diablo-III-Beta-enUS-Setup.zip

    Functions
    Code:
    0080db5e    GetModuleBaseNameA
    0080db64    EnumProcessModules
    0080db6a    CloseHandle
    00813260    fnEnum
    008172e0    sGetSNOCoreDataHash
    0081b4f0    SNOFileCompileOrResolve
    0081b820    SNOFileOpen
    0081bb40    SNOGetStringlist
    0081bfb0    SNOFileGetName
    0081e2b0    sOpenPatchMopaqs
    00820eb0    SNOFilesDispose
    00822b30    GameTesting::SetTestType
    00824040    GameCommonGameFlagIsSet
    0083e830    StringToAttrib
    00862200    GetGameCommonGameFlag
    0086ba40    InitializeNetwork
    0087c740    ActorCommonData::GetContactOffset
    0087c8d0    ActorCommonData::GetContactOffsetForAnim
    00883230    ACDCreate
    00884ac0    Blizzard::Storage::StorageSystem::FindOpenSequence
    008aad60    ACDInventorySocketSpell
    008afd80    ACDInventoryGetGoldACD
    008b8c10    ParseBBE
    008e0e60    Agent::AsyncStatusCheck::Impl::HttpCallback::GetVerb
    0091aa20    Direct3D::SoftReset
    0092a260    InitializeGameStructs
    0092a480    GetGlobalGameStruct
    00939570    UnkHeroStructInHeroStructInHeroUnkStructInUnkHeroStruct_sub_939570
    0093a340    UnkHeroStructInHeroStruct_sub_93A340
    0093c260    UnkHeroStructInHeroStruct_sub_93C260
    0093d330    UnkHeroStructInHeroStruct_sub_93D330
    0093dd80    UnkHeroStructInHeroStruct_sub_93DD80
    0093e2e0    UnkHeroStructInHeroStruct_sub_93E2E0
    00952fe0    SoundPlatform::Update
    00953b10    SoundPlatform::PlayOVTStream
    00953b80    SoundPlatform::StopOVTStream
    00955940    SoundPlatform::OpenOVTStream
    009577b0    SoundPlatform::Dispose
    00986ba0    Hero::Hero
    00991b00    GetCapture
    00995d70    Window_sub_995D70
    00995dd0    Window::BenginScene
    00995df0    Window::EndScene
    00995e10    Window::SetViewport
    00995eb0    Window_sub_995EB0
    009eadb0    Hero_sub_9EADB0
    00a07d60    System_Mopaq::DeltaData::OpenSrcFile
    00a29a30    InitUnk1140BytesStruct
    00a425f0    InitUnk48BytesStruct
    00a43b90    InitUnk568BytesStruct
    00a43c50    Unk568BytesStruct_sub_A43C50
    00a58b80    j_nullsub_104
    00a64b10    InitUnk408BytesStruct
    00a68950    InitUnk1784BytesStruct
    00a6af70    InitUnk392BytesStruct
    00a6bae0    BnetService_sub_A6BAE0
    00a6bb70    Platform_sub_A6BB70
    00a6bbb0    BnetService_sub_A6BBB0
    00a6bbc0    BnetService_sub_A6BBC0
    00a6bd00    j_nullsub_313
    00a6bd10    BnetService_sub_A6BD10
    00a6bd20    BnetService_sub_A6BD20
    00a6bd30    j_nullsub_314
    00a6bd40    BnetService_sub_A6BD40
    00a6bd90    BnetService_sub_A6BD90
    00a6e430    BnetService_sub_A6E430
    00a6e570    BnetService_GetGameCreationError
    00a6e970    BnetService::InvokeLeftGameSession_OnLeaveGame
    00a6ea70    BnetService_sub_A6EA70
    00a71860    BnetService_sub_A71860
    00a71d30    BnetService::Platform_ReportPlayerCallback
    00a74240    BnetService_sub_A74240
    00a743b0    BnetService::ReportPlayer
    00a77ea0    BnetService::Connect
    00a78120    BnetService_sub_A78120
    00a78cb0    BnetService::Logout
    00a791b0    BnetService::Authentication::LogonCallback
    00a7a100    BnetService_sub_A7A100
    00a7aef0    BnetService::BnetService
    00a7b210    BnetService::Shutdown
    00a7b430    BnetService::LogoutSynchronously
    00a7b850    BnetService_sub_A7B850
    00a7baf0    BnetService_sub_A7BAF0
    00a7bfe0    BnetService::Authentication_DisplayAgreementCallback
    00a7c460    BnetService::Authentication_OnModuleMessage
    00a7c9e0    BnetService_sub_A7C9E0
    00ad4860    UnkHeroStruct_sub_AD4860
    00ad56d0    UnkHeroStruct_sub_AD56D0
    00af7070    Party::NotifyAdvertisedPartyEvent
    00afae60    Window_sub_AFAE60
    00afaf10    Window::GetCreationParameters
    00afaf50    Window::EvictManagedResources
    00afaf60    Window_sub_AFAF60
    00afaf80    Window_sub_AFAF80
    00afafd0    Window::GetDeviceCaps
    00afb270    Window::GetDeviceID
    00afb290    Window_sub_AFB290
    00afb430    Window_sub_AFB430
    00afb570    Window::SetCursorPosition
    00afb8f0    Window_sub_AFB8F0
    00afbb10    Window_sub_AFBB10
    00afbd60    Window::CreateTexture
    00afc160    Window::TestCooperativeLevel
    00afc500    Window::CreateDevice
    00afc750    Window::GetDisplayMode
    00afc930    Window_sub_AFC930
    00afcaa0    Window::StretchRect
    00afcb20    Window::SetSurface
    00afcb80    sBlitHWCursorToBuffer
    00afcd50    Window_sub_AFCD50
    00afcee0    Window_sub_AFCEE0
    00b3d510    BnetService_sub_B3D510
    00b3d670    BnetService_sub_B3D670
    00b3d6e0    BnetService_sub_B3D6E0
    00b42830    BNetClientService::Shutdown
    00b42bd0    BnetService_sub_B42BD0
    00b42be0    BnetService_sub_B42BE0
    00b42c60    Hero_sub_B42C60
    00b54fa0    GameSession::ConnectToGameServer
    00b56820    UnkBnetService76BytesStruct_sub_B56820
    00b5c080    BuyoutDialog::Close
    00b5c4e0    BuyoutDialog::Show
    00b5c720    UIAuctionHouseBidDialog::Close
    00b5cdb0    UIAuctionHouseBidDialog::Show
    00b5d200    UIAuctionHouseCreateAuctionDialog::Close
    00b5d9d0    UIAuctionHouseCreateAuctionDialog::Show
    00b6b740    UIAuctionHouseCompletedContent::OnClose
    00b6ca60    UIAuctionHouseCompletedContent::DataSourceNotification
    00b6cc80    UIAuctionHouseCompletedContent::OnOpen
    00b6dad0    UIAuctionHouseBiddingContent::BidStatusChanged
    00b6f6f0    UIAuctionHouseBiddingContent::OnClose
    00b6f7e0    UIAuctionHouseBiddingContent::CategorySelected
    00b6f8a0    UIAuctionHouseBiddingContent::BidListCallback
    00b6f940    UIAuctionHouseBiddingContent::DataSourceNotification
    00b70310    UIAuctionHouseBiddingContent::OnOpen
    00b70c70    UIAuctionHouseSellingContent::OfferStatusChanged
    00b72490    UIAuctionHouseSellingContent::OnClose
    00b72580    UIAuctionHouseSellingContent::CategorySelected
    00b72640    UIAuctionHouseSellingContent::AuctionListCallback
    00b72770    UIAuctionHouseSellingContent::DataSourceNotification
    00b72e10    UIActionHouseSellingContent::OnOpen
    00b751a0    UIAuctionHouseSearchContent::OnClose
    00b75780    UIAuctionHouseSearchContent::CategorySelected
    00b76110    UIAuctionHouseSearchContent::DataSourceNotification
    00b767d0    UIAuctionHouseSearchContent::OnOpen
    00b76a40    Blizzard::Util::BitField::Clear
    00b77220    Hero_sub_B77220
    00b77280    Hero_sub_B77280
    00b772c0    Hero_sub_B772C0
    00b77300    Hero_sub_B77300
    00b83d40    UIBattlenet_Campaign_QuestDialog_SetSelectedQuest::
    00b84a50    sCampaign_SearchForPublicGameEvent
    00b85dc0    Hero_sub_B85DC0
    00b864c0    Hero_sub_B864C0
    00b88cc0    GetBnetService
    00b8aa00    BnetRID::GameAccountLogon_OnGetGameAccountDigestResponse
    00b8ba50    BnetRID::GameAccountLogon_OnGetGameAccountClientSettingsResponse
    00b8c170    Platform::DestroyInterfaceEx
    00b8c190    Platform::IsBasicAPIsInitialized
    00b8c1b0    Platform::WaitForBasicInitialized
    00b8c3e0    Platform_sub_B8C3E0
    00b8cdd0    PartyListener::PartyListener
    00b8d280    GamesListener::GamesListener
    00b8d310    GamesListener_sub_B8D310
    00b8d360    Platform_sub_B8D360
    00b8da70    Platform::Platform
    00b8daf0    Platform_sub_B8DAF0
    00b8db20    Platform::Startup
    00b8db80    Platform_sub_B8DB80
    00b8dc20    Platform_sub_B8DC20
    00b8dfd0    Platform::Connect
    00b8e610    Platform_sub_B8E610
    00b905a0    InitializeUnkBnetService128BytesStruct
    00b90f80    InitializeUnkBnetService12BytesStruct
    00b97f80    InitializeUnkBnetService248BytesStruct
    00ba56b0    BnetGames::IsGamesApiInitialized
    00ba57a0    BnetGames_sub_BA57A0
    00ba57b0    BnetGames_sub_BA57B0
    00ba7100    BnetGames::OnAPIBound
    00ba71e0    BnetGames_sub_BA71E0
    00ba8800    BnetGames::Platform_CreatePrivateGameCallback
    00ba8b20    BnetGames::LeaveGame
    00ba8d80    BnetGames_sub_BA8D80
    00ba8e10    BnetGames::Platform_CreatePublicGameCallback
    00baa4f0    BnetGames_sub_BAA4F0
    00baa560    BnetGames::Platform_LeaveGame_LeavePartyCallback
    00baa6f0    BnetGames::Party_MyPartyEvent
    00bade00    BnetGames_sub_BADE00
    00baea50    BnetGames::BnetGames
    00baec10    BnetGames_sub_BAEC10
    00baf360    BnetGames_sub_BAF360
    00baf700    BnetGames_sub_BAF700
    00baf990    BnetGames::Platform_OnGetGameFactoryInfo
    00bafff0    BnetGames::Platform_OnGameFactoryList
    00bb0ac0    BnetGames::JoinPartyMemberToMyGame
    00bb1170    BnetGames::CreatePublicGame_DoWork
    00bb15b0    BnetGames::RefreshFactories
    00bb1710    BnetGames::CreatePrivateGame
    00bb1d10    BnetGames::JoinGame
    00bb1fa0    BnetGames::Platform_CancelFindGameCallback
    00bb2480    BnetGames::Platform_FindGameCallback
    00bb2880    BnetGames::CancelSearchForPublicGame
    00bb2bc0    BnetGames::CreatePublicGame
    00bb30a0    BnetGames::SearchForPublicGame
    00bb3d60    Settings::OnWriteToonSettings
    00bb3e80    Settings::OnWriteGameAccountSettings
    00bb47c0    InitializeUnkBnetService76BytesStruct
    00bb9f40    UpgradeToWhisper_CreateChannelCallback
    00bc2370    InitializeUnkBnetService2456BytesStruct
    00bc56d0    j_GetBnetService
    00bc77c0    Hero_sub_BC77C0
    00bc8450    BnetParty::sLockStatusChange_SetPrivacyLevelCallback
    00bc8600    BnetParty::sCallback_PartyJoined_AutoJoinOrLeaveGame_LeavePartyFailure
    00bc86f0    BnetParty::PartyMemberAdded_AutoJoinGame_KickMemberFailure
    00bc8940    BnetParty::sCallback_PartyGameIdCleared_LeaveGameFailure
    00bc8ac0    BnetParty::CancelLeaveGameWithMyPartyFailure
    00bc8b90    BnetParty::CancelSearchForPublicGameFailure
    00bcbd80    Hero_sub_BCBD80
    00bd2f50    BnetParty::LockStatusChange_SetJoinPermission
    00bd3a10    BnetParty::InvokeReceivedInviteToPartyEvent
    00bd9270    BnetParty::AutoCreateMyParty
    00bd9fe0    InitializeUnkBnetService2880BytesStruct
    00be5910    InitializeUnkBnetService1144BytesStruct
    00be69d0    InitializeUnkBnetService8BytesStruct_0
    00be7190    RemoteStorage::OnWriteGameAccountSettings
    00be7310    RemoteStorage::OnWriteToonSettings
    00be74b0    RemoteStorage::OnLoadAccountDigestClient
    00be7620    RemoteStorage::OnGetHeroItems2
    00be7800    RemoteStorage::OnGetAccountItems2
    00bea010    RemoteStorage::OnGetGameAccountSettings
    00bea180    RemoteStorage::OnGetToonSettings
    00beb000    RemoteStorage::OnGetHeroItems1
    00beb2d0    RemoteStorage::OnGetAccountItems1
    00bebc40    RemoteStorage::OnListHeroDigests
    00bf92c0    sUIHeroSelect_OnSwitchCurrentHeroComplete
    00bfcd80    Sandbox::Start
    00bff850    UIBattlenet_Login_OnClick_CancelLogonButton
    00c04df0    UICallback_SandBox02_JoinPartyFailure
    00c11980    UnkBnetService12BytesStruct_sub_C11980
    00c186e0    BnetGameAccount::SwitchCurrentHero_OnSelectToon
    00c18840    BnetGameAccount::HeroLogout_OnSelectToon
    00c19910    BnetGameAccount::HeroCreate_OnReceivedHeroDigests
    00c1a240    BnetGameAccount::ReloadHeroDigest_OnReceivedHeroDigests
    00c1aa80    BnetGameAccount::HeroCreate_OnSelectToon
    00c1b0d0    BnetGameAccount::HeroCreate_OnCreateToon
    00c1e2d0    PartyListener::OnPartyJoined
    00c1ecc0    UserManagerListener::OnUserBlocked_OnRequestField
    00c20970    GamesListener::OnGameJoined
    00c20d40    GamesListener::OnGameMemberAdded
    00c2e7c0    Blizzard::Time::GetTimeElapsed
    00c2f700    Blizzard::File::GetFileInfo
    00c2fbb0    Blizzard::File::Move
    00c2fcd0    Blizzard::File::ProcessDirFast
    00c31140    Blizzard::File::IsDirectory
    00c31170    Blizzard::File::IsFile
    00c395a0    ThreadSleep
    00c39700    GetCurrentProcessId
    00c3f0c0    TimerFunc
    00c3fb10    Blizzard::String::Copy
    00c41360    Blizzard::String::FindPathSeparatorReverse
    00c41b00    Blizzard::String::JoinPath
    00c83420    OpenMpq
    00cbacb0    Blizzard::Patch::ApplyTransform
    00cc2d90    Blizzard::Hardware::CpuSpeed
    00cc3320    Blizzard::Memory::GetPhysicalMemory
    00cc3940    GetTickCount
    00cc3d60    Blizzard::Streaming::BasicQueue::Implementation::NextRequest
    00cdfb40    TlsCallback_0
    00ce5bc0    GetExeName
    00cec310    TopLevelExceptionFilter
    00cf0720    fnInternetCallback
    00d098b0    HttpPostCallback::GetPostContextType
    00d23810    AllocateMemoryEx
    00d238b0    GamesListener_sub_D238B0
    00d23ed0    AllocateMemory
    00d23f50    GamesListener_sub_D23F50
    00d240c0    CDebug::OutputDebugString
    00d25650    CreateHesitationDump
    00d2c380    System_SFile::BitPacked::BitPacked
    00d2d340    SNOFilesInitialize
    00d2f130    XNetAddress::FromString
    00d2fdb0    OutputDebugString
    00d31270    TerminateProcessEx
    00d32960    File::Delete
    00d32af0    File::Create
    00d32d60    File::Copy
    00d32f70    File::Read
    00d33070    File::Write
    00d4ab60    CDebug::OutputCommonDebugString
    00d61760    Blizzard::Streaming::BasicQueue::Implementation::Shutdown
    00d69b50    ErrorManagerInspector::LaunchInspectorReporterApplication
    00d69f90    ErrorManagerInspector::CreateErrorReportFile
    00d6ac40    CreateCrashDumpFile
    00d72654    strncpy
    00d72a5c    rand
    00d72c36    _recalloc
    00d72d90    _gmtime64
    00d72f0a    _stricmp
    00d730fc    asin
    00d73322    _ismbblead
    00d745ca    MiniDumpWriteDump
    00d745d0    VerQueryValueA
    00d745d6    GetFileVersionInfoA
    00d745dc    GetFileVersionInfoSizeA
    00d745e2    D3DPERF_EndEvent
    00d745ee    D3DPERF_BeginEvent
    00d885d0    InternetCloseHandle
    00dc9134    ImmAssociateContext
    00dc913a    ImmReleaseContext
    00dc9140    ImmGetConversionStatus
    00dc9146    ImmGetContext
    00dc914c    ImmGetCandidateListW
    00dc9152    ImmGetCompositionStringW
    00dce2c0    pfnAPC
    00e73970    GetUserDefaultLCID
    00f510f0    Sleep
    00f5122e    Process32First
    00f51234    Process32Next
    00f5123a    Module32First
    00f51240    Module32Next
    00f51354    Thread32Next
    00f5136c    Thread32First
    00f51390    Module32NextW
    00f51396    Module32FirstW
    00f516c6    ConvertStringSecurityDescriptorToSecurityDescriptorW
    00f516cc    AdjustTokenPrivileges
    00f61650    Frost::TextFetcher::Completed
    00f72490    Phoenix::AgentClient::StartAgent
    00f74d30    Blizzard::Storage::PartialFile::GetTotalLocalSize
    00f81390    Blizzard::Streaming::Transport::TransportHttpCallback::Completed
    00fa0ce0    CDebug::OutputDebugString3
    00fa1ca0    CDebug::OutputDebugString2
    00fa5430    Platform::IsConnected
    00fa5460    Platform::OnDestroyAllAPIs
    00fa54e0    Platform_sub_FA54E0
    00fa5560    Platform::APICleanup_LocalStorage
    00fa5580    Platform::APICleanup_Search
    00fa55a0    Platform::APICleanup_RemoteLock
    00fa55c0    Platform::APICleanup_Identity
    00fa5610    Platform::APICleanup_RemoteStorage
    00fa5640    Platform::Disconnect
    00fa5770    Platform::OnConnected_Internal
    00fa57d0    Platform::OnConnectionInterrupted_Internal
    00fa5810    Platform::OnConnectionReestablished_Internal
    00fa5850    Platform::CheckAssert_OnAPIInitialized
    00faa980    Platform::OnAPIInitialized_Authentication_Internal
    00faa9f0    Platform::OnAPIInitialized_Presence_Internal
    00faaa60    Platform::OnAPIInitialized_Toons_Internal
    00faaad0    Platform::OnAPIInitialized_Friends_Internal
    00faab40    Platform::OnAPIInitialized_Followers_Internal
    00faabb0    Platform::OnAPIInitialized_Party_Internal
    00faac20    Platform::OnAPIInitialized_Chat_Internal
    00faac90    Platform::OnAPIInitialized_Whisper_Internal
    00faad10    Platform::OnAPIInitialized_Resources_Internal
    00faad90    Platform::OnAPIInitialized_UserManager_Internal
    00faae10    Platform::OnAPIInitialized_GameServer_Internal
    00faae90    Platform::OnAPIInitialized_GameUtilities_Internal
    00faaf10    Platform::OnAPIInitialized_ExchangeObjectProvider_Internal
    00faaf90    Platform::OnAPIInitialized_Search_Internal
    00fab010    Platform::OnAPIInitialized_RemoteLock_Internal
    00fab090    Platform::OnAPIInitialized_Identity_Internal
    00fab110    Platform::OnAPIInitialized_Games_Internal
    00fab190    Platform::OnAPIInitialized_RemoteStorage_Internal
    00fab210    Platform::OnAPIInitialized_LocalStorage_Internal
    00fab290    Platform::OnAPIInitialized_Exchange_Internal
    00fb30f0    Platform::APICleanup_Presence
    00fb3180    Platform::APIInitialize_Presence
    00fb32f0    Platform::APIInitialize_Search
    00fb33f0    Platform::APIInitialize_RemoteLock
    00fb34f0    Platform::APIInitialize_Identity
    00fb35f0    Platform::APIInitialize_RemoteStorage
    00fb36f0    Platform::APIInitialize_LocalStorage
    00fb75b0    Platform::DestroyInterface
    00fb7690    Platform::APICleanup_Games
    00fb76f0    Platform::APICleanup_GameServer
    00fb7750    Platform::APICleanup_GameUtilities
    00fb77b0    Platform::APIDestroy_ExchangeObjectProvider
    00fb7810    Platform::APICleanup_Whisper
    00fb7870    Platform::APICleanup_Resources
    00fb78d0    Platform::APICleanup_UserManager
    00fb7930    Platform::APICleanup_Chat
    00fb7990    Platform::APICleanup_Party
    00fb79f0    Platform::APICleanup_Followers
    00fb7a50    Platform::APICleanup_Friends
    00fb7ab0    Platform::APICleanup_Toons
    00fb7b10    Platform::APICleanup_Authentication
    00fb7b70    Platform_sub_FB7B70
    00fb86c0    Platform::Shutdown
    00fb8a20    Platform::Initialize
    00fb8c80    Platform_sub_FB8C80
    00fb8d50    Platform::ConnectEx
    00fb8e80    Platform::APIInitialize_Authentication
    00fb8fb0    Platform::APIInitialize_Toons
    00fb90e0    Platform::APIInitialize_Friends
    00fb9210    Platform::APIInitialize_Followers
    00fb9340    Platform::APIInitialize_Party
    00fb9470    Platform::APIInitialize_Chat
    00fb95a0    Platform::APIInitialize_Whisper
    00fb96d0    Platform::APIInitialize_Resources
    00fb9800    Platform::APIInitialize_UserManager
    00fb9930    Platform::APIInitialize_GameServer
    00fb9a60    Platform::APIInitialize_GameUtilities
    00fb9b90    Platform::APIInitialize_Exchange
    00fb9cc0    Platform::APIInitialize_ExchangeObjectProvider
    00fb9df0    Platform::APIInitialize_Games
    00fba0b0    Platform::RequestFields
    00fba2f0    Platform::PublishFields
    00fba7b0    Platform_sub_FBA7B0
    00fbaa90    Platform_sub_FBAA90
    00fbb0e0    Platform::OnDisconnected_Internal
    00fbd990    InitializeUnkBnetService8BytesStruct
    00fc0620    RemoteStorage::OnLoadHeroDigest
    00fc20f0    RemoteStorage::PopulateItemListFromResults
    00fc2a70    RemoteStorage::OnLoadAccountDigest
    00fc4100    Platform::OnConnectionReestablished
    00fc6692    abs
    00fc66f2    GetAcceptExSockaddrs
    00fc66f8    AcceptEx
    Types
    Code:
    /*
       This file has been generated by IDA Pro.
       It contains local type definitions from
         D:\Reversing\IDA\Diablo III\Pc\0.2.0.7200\Diablo III_0.2.0.7200.idb
    */
    
    /*    1 */
    struct _EH4_SCOPETABLE_RECORD
    {
      int EnclosingLevel;
      void *FilterFunc;
      void *HandlerFunc;
    };
    
    /*    2 */
    struct _EH4_SCOPETABLE
    {
      DWORD GSCookieOffset;
      DWORD GSCookieXOROffset;
      DWORD EHCookieOffset;
      DWORD EHCookieXOROffset;
      struct _EH4_SCOPETABLE_RECORD ScopeRecord[];
    };
    
    /*    3 */
    union __m64
    {
      unsigned __int64 m64_u64;
      float m64_f32[2];
      __int8 m64_i8[8];
      __int16 m64_i16[4];
      __int32 m64_i32[2];
      __int64 m64_i64;
      unsigned __int8 m64_u8[8];
      unsigned __int16 m64_u16[4];
      unsigned __int32 m64_u32[2];
    };
    
    /*    4 */
    union __m128
    {
      float m128_f32[4];
      unsigned __int64 m128_u64[2];
      __int8 m128_i8[16];
      __int16 m128_i16[8];
      __int32 m128_i32[4];
      __int64 m128_i64[2];
      unsigned __int8 m128_u8[16];
      unsigned __int16 m128_u16[8];
      unsigned __int32 m128_u32[4];
    };
    
    /*    5 */
    struct __m128d
    {
      double m128d_f64[2];
    };
    
    /*    6 */
    union __m128i
    {
      __int8 m128i_i8[16];
      __int16 m128i_i16[8];
      __int32 m128i_i32[4];
      __int64 m128i_i64[2];
      unsigned __int8 m128i_u8[16];
      unsigned __int16 m128i_u16[8];
      unsigned __int32 m128i_u32[4];
      unsigned __int64 m128i_u64[2];
    };
    
    /*    7 */
    #pragma pack(push, 1)
    struct Window
    {
      WindowVTable *VTable;
      _DWORD dword4;
      _DWORD dword8;
      _DWORD dwordC;
      _BYTE f8[20];
      _DWORD Flags;
      _DWORD AdapterOrdinal;
      DWORD DevType;
      DWORD Behavior;
      DWORD Flags2;
      _BYTE f30[12];
      char *GfxDriver;
      _BYTE f31[508];
      char *GfxName;
      _BYTE f32[508];
      char *MonitorNumber;
      _BYTE f35[28];
      WORD DriverRevisionNumber;
      WORD DriverBuildNumber;
      WORD DriverMinorVersion;
      WORD DriverMajorVersion;
      DWORD VendorID;
      DWORD DeviceID;
      _BYTE f34[28];
      IDirect3D9 *PrimaryDevice;
      IDirect3D9 *SecondaryDevice;
      DWORD unk0[1];
      IDirect3DSurface9 *Surface;
      DWORD unk[15];
      DWORD ResWidth;
      DWORD ResHeight;
      DWORD Fmt;
      DWORD BBC;
      DWORD MST;
      DWORD MSQ;
      DWORD Swap;
      DWORD unk8;
      DWORD Windowed;
      DWORD EADS;
      DWORD ADSFmt;
      DWORD Flags3;
      DWORD FSHz;
      DWORD PresInt;
      IDirect3DVertexShader9 *VertexShader;
      DWORD unk1[1];
      IDirect3DPixelShader9 *PixelShader;
      DWORD unk2[15];
      IDirect3DVertexDeclaration9 *VertexDeclaration;
      DWORD unk2[780];
    };
    #pragma pack(pop)
    
    /*    9 */
    #pragma pack(push, 1)
    struct IDirect3D9
    {
      struct IDirect3DDevice9Vtbl *lpVtbl;
    };
    #pragma pack(pop)
    
    /*   10 */
    struct WindowVTable
    {
      int Function1;
      int Function2;
      int (__stdcall *Function3)(_DWORD);
      int Function4;
      int Function5;
      int Function6;
      int Function7;
      int Function8;
      int Function9;
      int Function10;
      int Function11;
      int Function12;
      int Function13;
      int Function14;
      int Function15;
      int Function16;
      int Function17;
      int Function18;
      int Function19;
      int Function20;
      int Function21;
      int Function22;
      int Function23;
      int Function24;
      int Function25;
      int Function26;
      int Function27;
      int Function28;
      int Function29;
      int Function30;
      int Function31;
      int Function32;
      int Function33;
      int Function34;
      int Function35;
      int Function36;
      int Function37;
      int Function38;
      int Function39;
      int Function40;
      int Function41;
      int Function42;
      int Function43;
      int Function44;
      int Function45;
      int Function46;
      int Function47;
      int Function48;
      int Function49;
      int Function50;
      int Function51;
      int Function52;
      int Function53;
      int Function54;
      int Function55;
      int Function56;
      int Function57;
      int Function58;
      int Function59;
      int Function60;
      int Function61;
      int Function62;
      int Function63;
      int Function64;
      int Function65;
      int Function66;
      int Function67;
      int Function68;
      int Function69;
      int Function70;
      int Function71;
      int Function72;
      int Function73;
      int Function74;
      int Function75;
      int Function76;
      int Function77;
      int Function78;
      int Function79;
      int Function80;
      int Function81;
      int Function82;
      int Function83;
      int Function84;
      int Function85;
      int Function86;
      int Function87;
      int Function88;
      int Function89;
      int Function90;
      int Function91;
      int Function92;
      int Function93;
      int Function94;
      int Function95;
      int Function96;
      int Function97;
      int Function98;
      int Function99;
      int Function100;
    };
    
    /*   11 */
    #pragma pack(push, 1)
    struct Platform
    {
      PlatformVTable *VTable;
      _BYTE f1[11];
      char gap_F[1];
      PlatformUnkStruct *UnkStruct;
      _BYTE f10[76];
      _DWORD APIInitializedFlags;
      DWORD unk1[66];
      DWORD ConnectionState;
      DWORD unk2[7];
    };
    #pragma pack(pop)
    
    /*   12 */
    struct PlatformUnkStruct
    {
      PlatformUnkStruct *UnkPtr;
      DWORD unk[120];
    };
    
    /*   13 */
    struct PlatformVTable
    {
      int (__thiscall *Function0)(Platform *this, char a2);
      int (__thiscall *Function1)(Platform *this, int a2);
      int (__thiscall *Function2)(Platform *this, int a2, int a3, int a4);
      int (__thiscall *Function3)(Platform *this, int a2);
      int Function4;
      int Function5;
      int (__thiscall *Function6)(Platform *this, int a2, int a3);
      int Function7;
      int Function8;
      int Function9;
      int Function10;
      int Function11;
      int Function12;
      int Function13;
      int Nullsub1;
      int Nullsub2;
      int Nullsub3;
      int Nullsub4;
      int (__thiscall *Function18)(Platform *this, int a2);
      int Function19;
      int Function20;
      int Function21;
      int Nullsub5;
      int Function23;
      int Nullsub6;
      int Nullsub7;
      int (__thiscall *APICleanup_Authentication)(Platform *this);
      int (__thiscall *APICleanup_Presence)(int result, int a2);
      int (__thiscall *APICleanup_Toons)(Platform *this);
      int (__thiscall *APICleanup_Friends)(Platform *this);
      int (__thiscall *APICleanup_Followers)(Platform *this);
      int (__thiscall *APICleanup_Party)(Platform *this);
      int (__thiscall *APICleanup_Chat)(Platform *this);
      int (__thiscall *APICleanup_Whisper)(Platform *this);
      int (__thiscall *APICleanup_Resources)(Platform *this);
      int (__thiscall *APICleanup_UserManager)(Platform *this);
      int (__thiscall *APICleanup_GameServer)(Platform *this);
      int (__thiscall *APICleanup_GameUtilities)(Platform *this);
      int (__thiscall *APICleanup_Games)(Platform *this);
      int (__thiscall *APICleanup_RemoteStorage)(Platform *this);
      int (__thiscall *APICleanup_LocalStorage)(Platform *this);
      int (__thiscall *Function41)(Platform *this);
      int (__thiscall *APIDestroy_ExchangeObjectProvider)(Platform *this);
      int (__thiscall *APICleanup_Search)(Platform *this);
      int (__thiscall *APICleanup_RemoteLock)(Platform *this);
      int (__thiscall *APICleanup_Identity)(Platform *this);
    };
    
    /*   14 */
    enum PlatformAPIFlags
    {
      Authentication = 0x1,
      Presence = 0x2,
      Toons = 0x4,
      Friends = 0x8,
      Followers = 0x10,
      Party = 0x20,
      Chat = 0x40,
      Whisper = 0x80,
      Resources = 0x100,
      UserManager = 0x200,
      GameServer = 0x400,
      GameUtilities = 0x800,
      Gamess = 0x1000,
      RemoteStorage = 0x2000,
      LocalStorage = 0x4000,
      Exchange = 0x8000,
      ExchangeObjectProvider = 0x10000,
      Search = 0x20000,
      RemoteLock = 0x40000,
      Identity = 0x800000,
    };
    
    /*   15 */
    #pragma pack(push, 1)
    struct BnetGames
    {
      BnetGamesVTable *VTable;
      _BYTE f4[348];
      Platform *Platform;
      _DWORD dword164;
      _DWORD dword168;
      _DWORD dword16C;
      _DWORD dword170;
      _DWORD dword174;
      _DWORD dword178;
      _DWORD dword17C;
      _DWORD dword180;
      _DWORD dword184;
      _DWORD dword188;
      _BYTE f18C[4];
      _DWORD dword190;
      _DWORD dword194;
      _DWORD dword198;
      _DWORD dword19C;
      _DWORD dword1A0;
      _DWORD dword1A4;
      _BYTE f1A8[136];
      _DWORD dword230;
      _DWORD dword234;
      _DWORD dword238;
      _DWORD dword23C;
      _DWORD dword240;
      _DWORD dword244;
      _DWORD dword248;
      _DWORD dword24C;
      _BYTE f250[96];
      _DWORD dword2B0;
      _DWORD dword2B4;
      _DWORD dword2B8;
      _DWORD dword2BC;
      _BYTE f2C0[104];
      _DWORD dword328;
      _BYTE f32C[108];
      _DWORD dword398;
      _BYTE f39C[108];
      _DWORD dword408;
    };
    #pragma pack(pop)
    
    /*   16 */
    #pragma pack(push, 1)
    struct BnetGamesVTable
    {
      bool (__thiscall *Function1)(BnetGames *this);
      int (__thiscall *Function2)(BnetGames *this);
      int (__thiscall *Function3)(BnetGames *this);
      int (__thiscall *Function4)(BnetGames *this, int a2);
      int (__thiscall *CreatePrivateGame)(BnetGames *this, int a2, int a3, int a4);
      int (__thiscall *JoinGame)(BnetGames *this, int a2, int a3, int a4);
      int (__thiscall *SearchForPublicGame)(BnetGames *this, int a2, int a3, int a4);
      int (__thiscall *CancelSearchForPublicGame)(BnetGames *this, int a2, int a3);
      int (__thiscall *CreatePublicGame)(BnetGames *this, char *a2, int a3, int a4);
      int (__thiscall *Function10)(BnetGames *this, int a2, int a3, char *a4);
      int (__thiscall *Function11)(BnetGames *this, int a2, int a3, int a4);
      int (__thiscall *Function12)(BnetGames *this, int a2, int a3);
      int Function13;
      int Function14;
      int (__thiscall *Function15)(BnetGames *this, int a2);
      int Function16;
      int Function17;
      int Function18;
      int Function19;
      int Function20;
      int (__thiscall *IsGamesApiInitialized)(BnetGames *this);
      int (__thiscall *Function22)(BnetGames *this);
    };
    #pragma pack(pop)
    
    /*   17 */
    #pragma pack(push, 1)
    struct UnkGameStruct
    {
      UnkGameStruct1140Bytes *unk1140BytesStruct;
      UnkGameStruct408Bytes *unk408BytesStruct;
      UnkGameStruct48Bytes *unk48BytesStruct;
      UnkGameStruct392Bytes *unk392BytesStruct;
      BnetService *BnetService;
      UnkGameStruct568Bytes *unk568BytesStruct;
      UnkGameStruct1784Bytes *unk1784BytesStruct;
    };
    #pragma pack(pop)
    
    /*   18 */
    struct UnkGameStruct1140Bytes
    {
      _BYTE unk[1140];
    };
    
    /*   19 */
    struct UnkGameStruct408Bytes
    {
      void *VTable;
      _BYTE unk[404];
    };
    
    /*   20 */
    struct UnkGameStruct48Bytes
    {
      _BYTE unk[48];
    };
    
    /*   21 */
    struct UnkGameStruct392Bytes
    {
      void *VTable;
      _BYTE unk[388];
    };
    
    /*   22 */
    #pragma pack(push, 1)
    struct BnetService
    {
      BnetServiceVTable *VTable;
      _BYTE unk1[4];
      UnkBnetService1144BytesStruct *UnkBnetService1144BytesStruct;
      UnkBnetService2880BytesStruct *UnkBnetService2880BytesStruct;
      UnkBnetService2456BytesStruct *UnkBnetService2456BytesStruct;
      UnkBnetService76BytesStruct *UnkBnetService76BytesStruct;
      BnetGames *Games;
      UnkBnetService248BytesStruct *UnkBnetService248BytesStruct;
      UnkBnetService12BytesStruct *UnkBnetService12BytesStruct;
      UnkBnetService128BytesStruct *UnkBnetService128BytesStruct;
      _BYTE unk3[80];
      Hero *CurrentHero;
      _BYTE unk4[684];
      Platform *Platform;
      UnkBnetService8BytesStruct *UnkBnetServiceStruct;
      _BYTE unk5[704];
    };
    #pragma pack(pop)
    
    /*   23 */
    struct UnkGameStruct568Bytes
    {
      void *VTable;
      _BYTE unk[564];
    };
    
    /*   24 */
    struct UnkGameStruct1784Bytes
    {
      _BYTE unk[1784];
    };
    
    /*   25 */
    struct BnetServiceVTable
    {
      BnetService *(__thiscall *Function0)(BnetService *this, char a2);
      int (__thiscall *Function1)(BnetService *this);
      bool (__thiscall *Function2)(BnetService *this);
      int (__thiscall *Function3)(int this);
      int (__thiscall *Connect)(BnetService *this, char arg0, int a3, int a4, int argC, int a6, char a7, int a8);
      int (__thiscall *Logout)(BnetService *this, int a2, int a3);
      int (__thiscall *LogoutSynchronously)(BnetService *this);
      int (__thiscall *Function7)(BnetService *this, char a2, int a3, int a4, char a5, int a6, int a7, char a8, int a9, int a10, int a11);
      int (__thiscall *Function8)(BnetService *this, int a2, int a3);
      int (__thiscall *ReportPlayer)(BnetService *this, int a2, int a3, int a4, int a5, char a6, CHAR *a7, int a8, int a9);
      int (__thiscall *Function10)(BnetService *this, void *a2, void *a3);
      int (__stdcall *GetGameCreationError)(int a1, signed int errorCode);
      int Nullsub1;
      int (__thiscall *Function13)(BnetService *this);
      int (__thiscall *Function14)(BnetService *this);
      int Nullsub2;
      int (__thiscall *Function16)(BnetService *this, int a2);
      int (__thiscall *Function17)(BnetService *this, int a2);
      int (__thiscall *Function18)(BnetService *this, int a2, int a3, int a4);
      int (__thiscall *Function19)(Platform *this);
      int (__thiscall *Function20)(BnetService *this);
    };
    
    /*   26 */
    struct Hero
    {
      void *VTable;
      _BYTE unk1[132];
      UnkHero304BytesStruct *UnkHero304BytesStruct;
      _BYTE unk2[340];
    };
    
    /*   27 */
    #pragma pack(push, 4)
    struct UnkBnetService8BytesStruct
    {
      void *VTable;
      Platform *Platform;
    };
    #pragma pack(pop)
    
    /*   28 */
    struct UnkBnetService1144BytesStruct
    {
      void *VTable;
      _BYTE unk[1140];
    };
    
    /*   29 */
    struct UnkBnetService2880BytesStruct
    {
      void *VTable;
      _BYTE unk[2876];
    };
    
    /*   30 */
    struct UnkBnetService2456BytesStruct
    {
      void *VTable;
      _BYTE unk[2452];
    };
    
    /*   31 */
    struct UnkBnetService76BytesStruct
    {
      void *VTable;
      BnetService *Service;
      _BYTE unk[68];
    };
    
    /*   32 */
    struct UnkBnetService248BytesStruct
    {
      void *VTable;
      _BYTE unk[236];
      Platform *Platform;
      DWORD unk2;
    };
    
    /*   33 */
    struct UnkBnetService12BytesStruct
    {
      void *VTable;
      BnetService *Service;
      Platform *Platform;
    };
    
    /*   34 */
    struct UnkBnetService128BytesStruct
    {
      void *VTable;
      _BYTE unk[4];
      Platform *Platfrom;
      _BYTE unk[116];
    };
    
    /*   35 */
    struct UnkHero304BytesStruct
    {
      void *VTable;
      _BYTE unk[104];
      UnkHero112BytesStruct *UnkHero112BytesStruct;
      _BYTE unk2[192];
    };
    
    /*   36 */
    struct UnkHero112BytesStruct
    {
      void *VTable;
      _BYTE unk[108];
    };
    
    /*   37 */
    #pragma pack(push, 4)
    struct UnkHero76BytesStruct
    {
      void *VTable;
      _BYTE unk[4];
      UnkHero76BytesStruct *UnkHero76BytesStruct;
      _BYTE unk2[55];
      _DWORD dword40;
      _DWORD dword44;
    };
    #pragma pack(pop)
    
    /*   38 */
    #pragma pack(push, 1)
    struct UnkHero44BytesStruct
    {
      _DWORD dword0;
      _DWORD dword4;
      _DWORD dword8;
      _BYTE fC[4];
      _DWORD dword10;
      _DWORD dword14;
      _DWORD dword18;
      _BYTE byte1C;
      _BYTE byte1D;
      _WORD word1E;
      _DWORD dword20;
      _DWORD dword24;
      _DWORD dword28;
    };
    #pragma pack(pop)
    
    /*   39 */
    #pragma pack(push, 1)
    struct GamesListener
    {
      void *VTable;
      _DWORD dword4;
    };
    #pragma pack(pop)
    
    
    /* End of file */
    Typeinfo
    Code:
    _WinMain@16
    int __stdcall _WinMain@16(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
    GetModuleBaseNameA
    DWORD __stdcall GetModuleBaseNameA(HANDLE hProcess, HMODULE hModule, LPSTR lpBaseName, DWORD nSize);
    EnumProcessModules
    BOOL __stdcall EnumProcessModules(HANDLE hProcess, HMODULE *lphModule, DWORD cb, LPDWORD lpcbNeeded);
    CloseHandle
    BOOL __stdcall CloseHandle(HANDLE hObject);
    GetGameCommonGameFlag
    int __cdecl GetGameCommonGameFlag(int, char *Str1);
    InitializeGameStructs
    UnkGameStruct1784Bytes *__thiscall InitializeGameStructs(UnkGameStruct *a1);
    UnkHeroStructInHeroStructInHeroUnkStructInUnkHeroStruct_sub_939570
    UnkHero44BytesStruct *__thiscall UnkHeroStructInHeroStructInHeroUnkStructInUnkHeroStruct_sub_939570(UnkHero44BytesStruct *this);
    UnkHeroStructInHeroStruct_sub_93A340
    int __thiscall UnkHeroStructInHeroStruct_sub_93A340(UnkHero112BytesStruct *, int);
    UnkHeroStructInHeroStruct_sub_93C260
    int __thiscall UnkHeroStructInHeroStruct_sub_93C260(UnkHero112BytesStruct *this, int a2);
    UnkHeroStructInHeroStruct_sub_93D330
    UnkHero76BytesStruct *__thiscall UnkHeroStructInHeroStruct_sub_93D330(UnkHero112BytesStruct *this);
    UnkHeroStructInHeroStruct_sub_93DD80
    void *__thiscall UnkHeroStructInHeroStruct_sub_93DD80(UnkHero112BytesStruct *this, int a2);
    UnkHeroStructInHeroStruct_sub_93E2E0
    void *__thiscall UnkHeroStructInHeroStruct_sub_93E2E0(UnkHero112BytesStruct *this, int a2);
    SoundPlatform::PlayOVTStream
    int __cdecl SoundPlatform__PlayOVTStream(float);
    Hero::Hero
    Hero *__thiscall Hero__Hero(Hero *this);
    GetCapture
    HWND __stdcall GetCapture();
    Window_sub_995D70
    Window *__thiscall Window_sub_995D70(Window *this);
    Window::BenginScene
    bool __thiscall Window__BenginScene(Window *this);
    Window::EndScene
    int __thiscall Window__EndScene(Window *this);
    Window::SetViewport
    int __thiscall Window__SetViewport(Window *this, int a2);
    Window_sub_995EB0
    Window *__thiscall Window_sub_995EB0(Window *this, char a2);
    Hero_sub_9EADB0
    Hero *__thiscall Hero_sub_9EADB0(Hero *this);
    InitUnk1140BytesStruct
    UnkGameStruct1140Bytes *__thiscall InitUnk1140BytesStruct(UnkGameStruct1140Bytes *this);
    InitUnk48BytesStruct
    UnkGameStruct48Bytes *__thiscall InitUnk48BytesStruct(UnkGameStruct48Bytes *this);
    InitUnk568BytesStruct
    UnkGameStruct568Bytes *__thiscall InitUnk568BytesStruct(UnkGameStruct568Bytes *this);
    Unk568BytesStruct_sub_A43C50
    signed int __thiscall Unk568BytesStruct_sub_A43C50(UnkGameStruct568Bytes *this, int a2, int a3);
    InitUnk408BytesStruct
    UnkGameStruct408Bytes *__thiscall InitUnk408BytesStruct(UnkGameStruct408Bytes *this);
    InitUnk1784BytesStruct
    UnkGameStruct1784Bytes *__thiscall InitUnk1784BytesStruct(UnkGameStruct1784Bytes *this);
    InitUnk392BytesStruct
    UnkGameStruct392Bytes *__thiscall InitUnk392BytesStruct(UnkGameStruct392Bytes *this);
    BnetService_sub_A6BAE0
    int __thiscall BnetService_sub_A6BAE0(BnetService *);
    Platform_sub_A6BB70
    int __thiscall Platform_sub_A6BB70(Platform *this);
    BnetService_sub_A6BBB0
    int __thiscall BnetService_sub_A6BBB0(BnetService *this);
    BnetService_sub_A6BBC0
    bool __thiscall BnetService_sub_A6BBC0(BnetService *this);
    BnetService_sub_A6BD10
    int __thiscall BnetService_sub_A6BD10(BnetService *this);
    BnetService_sub_A6BD20
    int __thiscall BnetService_sub_A6BD20(BnetService *this);
    BnetService_sub_A6BD40
    int __thiscall BnetService_sub_A6BD40(BnetService *this, int a2);
    BnetService_sub_A6BD90
    int __thiscall BnetService_sub_A6BD90(BnetService *this);
    BnetService_sub_A6E430
    int __thiscall BnetService_sub_A6E430(BnetService *this);
    BnetService_GetGameCreationError
    int __stdcall BnetService_GetGameCreationError(int a1, signed int errorCode);
    BnetService_sub_A6EA70
    int __thiscall BnetService_sub_A6EA70(BnetService *this, int a2, int a3);
    BnetService_sub_A71860
    int __thiscall BnetService_sub_A71860(BnetService *this);
    BnetService_sub_A74240
    int __thiscall BnetService_sub_A74240(BnetService *this, int a2);
    BnetService::ReportPlayer
    int __thiscall BnetService__ReportPlayer(BnetService *this, int a2, int a3, int a4, int a5, char a6, CHAR *a7, int a8, int a9);
    BnetService::Connect
    int __thiscall BnetService__Connect(BnetService *this, char arg0, int a3, int a4, int argC, int a6, char a7, int a8);
    BnetService_sub_A78120
    int __thiscall BnetService_sub_A78120(BnetService *this, void *a2, void *a3);
    BnetService::Logout
    int __thiscall BnetService__Logout(BnetService *this, int a2, int a3);
    BnetService_sub_A7A100
    int __thiscall BnetService_sub_A7A100(BnetService *this, char a2, int a3, int a4, char a5, int a6, int a7, char a8, int a9, int a10, int a11);
    BnetService::BnetService
    BnetService *__thiscall BnetService__BnetService(BnetService *this);
    BnetService::Shutdown
    int __thiscall BnetService__Shutdown(BnetService *this);
    BnetService::LogoutSynchronously
    int __thiscall BnetService__LogoutSynchronously(BnetService *this);
    BnetService_sub_A7B850
    BnetService *__thiscall BnetService_sub_A7B850(BnetService *this, char a2);
    BnetService_sub_A7BAF0
    int __thiscall BnetService_sub_A7BAF0(BnetService *this, int a2, int a3, int a4);
    BnetService_sub_A7C9E0
    int __thiscall BnetService_sub_A7C9E0(BnetService *this, int a2, int a3, int a4);
    UnkHeroStruct_sub_AD4860
    int __thiscall UnkHeroStruct_sub_AD4860(UnkHero304BytesStruct *);
    UnkHeroStruct_sub_AD56D0
    UnkHero304BytesStruct *__thiscall UnkHeroStruct_sub_AD56D0(UnkHero304BytesStruct *this);
    Window_sub_AFAE60
    int __thiscall Window_sub_AFAE60(Window *this, int a2);
    Window::GetCreationParameters
    bool __thiscall Window__GetCreationParameters(Window *this);
    Window::EvictManagedResources
    int __thiscall Window__EvictManagedResources(Window *this);
    Window_sub_AFAF60
    DWORD __thiscall Window_sub_AFAF60(Window *this, DWORD a2);
    Window_sub_AFAF80
    int __thiscall Window_sub_AFAF80(Window *this, int a2);
    Window::GetDeviceCaps
    int __thiscall Window__GetDeviceCaps(Window *this, int *a2, int a3);
    Window::GetDeviceID
    DWORD __thiscall Window__GetDeviceID(Window *this, int vendorId, int deviceId);
    Window_sub_AFB290
    int __cdecl Window_sub_AFB290(Window *this, int Dst);
    Window_sub_AFB430
    signed int __thiscall Window_sub_AFB430(Window *this, int a2);
    Window::SetCursorPosition
    int __thiscall Window__SetCursorPosition(Window *this);
    Window_sub_AFB8F0
    int __thiscall Window_sub_AFB8F0(Window *this);
    Window_sub_AFBB10
    void __thiscall Window_sub_AFBB10(Window *this);
    Window::CreateTexture
    signed int __thiscall Window__CreateTexture(Window *this, int a2, int a3, int a4, int a5, int a6, int a7, char a8, int a9);
    Window::CreateCubeTexture
    signed int __thiscall Window__CreateCubeTexture(Window *this, int a2, int a3, int a4, int a5, int a6, char a7, int a8);
    Window::CreateVolumeTexture
    signed int __thiscall Window__CreateVolumeTexture(Window *this, int a2, int a3, int a4, int a5, int a6, int a7, int a8, char a9, int a10);
    Window::TestCooperativeLevel
    int __thiscall Window__TestCooperativeLevel(Window *this, int a2, int a3, int a4);
    Window::CreateDevice
    int __thiscall Window__CreateDevice(Window *);
    Window::GetDisplayMode
    int __thiscall Window__GetDisplayMode(Window *this, int a2);
    Window_sub_AFC930
    int __thiscall Window_sub_AFC930(Window *this);
    Window::StretchRect
    int __thiscall Window__StretchRect(Window *this, int a2, int a3);
    Window::SetSurface
    int __thiscall Window__SetSurface(Window *this, int a2);
    Window_sub_AFCD50
    int __thiscall Window_sub_AFCD50(Window *this, int a2, int a3, __int32 a4, __int32 a5, size_t Size);
    Window_sub_AFCEE0
    int __stdcall Window_sub_AFCEE0(Window *a1);
    Window_sub_AFCF00
    int __thiscall Window_sub_AFCF00(Window *this, int a2);
    Window_sub_AFCF50
    int __thiscall Window_sub_AFCF50(Window *this, DWORD a2);
    Window_sub_AFCF90
    int __thiscall Window_sub_AFCF90(Window *this, int a2, int a3);
    Window::SetRenderTarget
    int __thiscall Window__SetRenderTarget(Window *this, int a2);
    Window_sub_AFD150
    int __thiscall Window_sub_AFD150(Window *this, int a2, int a3, int a4);
    Window::Clear
    int __thiscall Window__Clear(Window *this, int a2, int a3, int a4, int a5);
    Window::GetDisplayModeEx
    signed int __thiscall Window__GetDisplayModeEx(Window *this, int a2);
    Window_sub_AFD450
    unsigned int __thiscall Window_sub_AFD450(Window *this, unsigned int a2, int a3);
    Window::Create
    signed int __thiscall Window__Create(Window *this, int a2, int a3);
    Window_sub_AFE9D0
    signed int __thiscall Window_sub_AFE9D0(Window *this);
    Window::GetGraphicsInfo
    signed int __thiscall Window__GetGraphicsInfo(Window *this, int a2);
    Window::CloseWindow
    void __thiscall Window__CloseWindow(Window *this);
    Window::ReCreate
    signed int __thiscall Window__ReCreate(Window *this, int a2);
    Window::CloseEx
    signed int __thiscall Window__CloseEx(Window *this);
    Window::Release
    signed int __thiscall Window__Release(Window *this, int a2);
    Window::CreateVertexBuffer
    bool __thiscall Window__CreateVertexBuffer(Window *this, int a2, IDirect3DVertexBuffer9 **a3, int a4, int a5, int a6);
    Window::SetStreamSource
    int __thiscall Window__SetStreamSource(Window *this, int a2, DWORD a3, DWORD a4, DWORD a5);
    Window::SetTexture
    int __thiscall Window__SetTexture(Window *this, DWORD a2, IDirect3DBaseTexture9 *a3);
    Window::CreateIndexBuffer
    bool __thiscall Window__CreateIndexBuffer(Window *this, IDirect3DIndexBuffer9 **a2, UINT a3, int a4, int a5);
    Window::SetIndices
    void __thiscall Window__SetIndices(Window *this, IDirect3DIndexBuffer9 *a2);
    Window::SetCursorPosition2
    int __thiscall Window__SetCursorPosition2(Window *this, int a2);
    Window::BeginStateBlock
    int __thiscall Window__BeginStateBlock(Window *this);
    Window::EndStateBlock
    int __thiscall Window__EndStateBlock(Window *this, int a2);
    Window_sub_AFFEB0
    int __stdcall Window_sub_AFFEB0(Window *a1);
    Window::SetGammaRamp
    void __thiscall Window__SetGammaRamp(Window *this, float a2, float a3);
    Window::SetCursorProperties
    int __thiscall Window__SetCursorProperties(Window *this, int a2, int a3, int a4);
    Window::ShowCursor
    int __thiscall Window__ShowCursor(Window *this, int a2);
    Window::SetRenderStateStippledAplhaFlag0x80
    int __thiscall Window__SetRenderStateStippledAplhaFlag0x80(Window *this, DWORD a2);
    Window::SetRenderStateFogenable
    int __thiscall Window__SetRenderStateFogenable(Window *this, DWORD a2);
    Window::SetRenderStateFogColor
    int __thiscall Window__SetRenderStateFogColor(Window *this, int a2);
    Window::SetRenderStateZFunc
    int __thiscall Window__SetRenderStateZFunc(Window *this, int a2);
    Window::SetRenderStateZWriteEnable
    int __thiscall Window__SetRenderStateZWriteEnable(Window *this, DWORD a2);
    Window::SetRenderStateRangeFogEnableTexturePerspective
    int __thiscall Window__SetRenderStateRangeFogEnableTexturePerspective(Window *this, DWORD a2);
    Window::SetRenderStateRangeFogEnableFillModeFlushBatchWrapuAnisotropyTexturePerspective
    int __thiscall Window__SetRenderStateRangeFogEnableFillModeFlushBatchWrapuAnisotropyTexturePerspective(Window *this, int a2, DWORD a3, int a4, int a5, int a6);
    Window::SetRenderStateAlphaTestEnable
    int __thiscall Window__SetRenderStateAlphaTestEnable(Window *this, DWORD a2);
    Window::SetRenderStateAlphaFuncAlphaRef
    int __thiscall Window__SetRenderStateAlphaFuncAlphaRef(Window *this, int a2, unsigned __int8 a3);
    Window::SetSamplerState
    int __thiscall Window__SetSamplerState(Window *this, int a2, int a3, int a4);
    Window::SetSamplerStateMipMapLodBias
    signed int __thiscall Window__SetSamplerStateMipMapLodBias(Window *this, DWORD a2, DWORD a3);
    Window::SetRenderStateEdgeAntialias0x80
    int __thiscall Window__SetRenderStateEdgeAntialias0x80(Window *this, int a2, int a3);
    Window::SetRenderStateAlphaBlendEnableSrcBlendDestBlendBordercolor0x80StipplePattern010x80
    int __thiscall Window__SetRenderStateAlphaBlendEnableSrcBlendDestBlendBordercolor0x80StipplePattern010x80(Window *this, DWORD a2, int a3, int a4, int a5);
    Window::SetRenderStateStipplePattern030x80
    int __thiscall Window__SetRenderStateStipplePattern030x80(Window *this, int a2, float a3);
    Window::SetRenderState22
    int __thiscall Window__SetRenderState22(Window *this, int a2);
    Window::SetRenderState89
    int __thiscall Window__SetRenderState89(Window *this, int a2);
    Window::SetScissorRect
    int __thiscall Window__SetScissorRect(Window *this, DWORD a2, int a3);
    Window::SetVertexShader
    int __thiscall Window__SetVertexShader(Window *this, int a2, int a3);
    Window_sub_B01290
    int __thiscall Window_sub_B01290(Window *this, int a2);
    Window::SetPixelShader
    int __thiscall Window__SetPixelShader(Window *this, int a2, int a3);
    Window_sub_B01320
    int __thiscall Window_sub_B01320(Window *this, int a2);
    Window::SetVertexShaderConstants2
    void __thiscall Window__SetVertexShaderConstants2(Window *this, int a2, int a3, int a4, unsigned int a5);
    Window::SetPixelShaderConstants
    void __thiscall Window__SetPixelShaderConstants(Window *this, int a2, int a3, int a4, unsigned int a5);
    Window_sub_B021E0
    int __thiscall Window_sub_B021E0(Window *this, int a2, int a3, int a4, int a5, int a6);
    Window_sub_B02240
    int __thiscall Window_sub_B02240(Window *this, int a2, int a3, int a4, int a5, int a6);
    Window::SetVertexDeclaration
    int __thiscall Window__SetVertexDeclaration(Window *this);
    BnetService_sub_B3D510
    int __thiscall BnetService_sub_B3D510(BnetService *this, int a2);
    BnetService_sub_B3D670
    int __thiscall BnetService_sub_B3D670(BnetService *this);
    BnetService_sub_B3D6E0
    int __thiscall BnetService_sub_B3D6E0(BnetService *this);
    BnetService_sub_B42BD0
    int __thiscall BnetService_sub_B42BD0(BnetService *this);
    BnetService_sub_B42BE0
    int __thiscall BnetService_sub_B42BE0(BnetService *this);
    Hero_sub_B42C60
    void *__thiscall Hero_sub_B42C60(Hero *this, const void *a2);
    UnkBnetService76BytesStruct_sub_B56820
    int __thiscall UnkBnetService76BytesStruct_sub_B56820(UnkBnetService76BytesStruct *this, BnetService *service);
    Hero_sub_B77220
    Hero *__thiscall Hero_sub_B77220(Hero *this);
    Hero_sub_B77280
    Hero *__thiscall Hero_sub_B77280(Hero *this);
    Hero_sub_B772C0
    Hero *__thiscall Hero_sub_B772C0(Hero *this);
    Hero_sub_B77300
    int __thiscall Hero_sub_B77300(Hero *this);
    Hero_sub_B85DC0
    Hero *__thiscall Hero_sub_B85DC0(Hero *this, const void *a2);
    Hero_sub_B864C0
    Hero *__thiscall Hero_sub_B864C0(Hero *this);
    Platform::DestroyInterfaceEx
    void __thiscall Platform__DestroyInterfaceEx(Platform *this, char *reason);
    Platform::IsBasicAPIsInitialized
    int __thiscall Platform__IsBasicAPIsInitialized(Platform *);
    Platform::WaitForBasicInitialized
    signed int __thiscall Platform__WaitForBasicInitialized(Platform *this);
    Platform_sub_B8C3E0
    int __thiscall Platform_sub_B8C3E0(Platform *this, int a2);
    GamesListener::GamesListener
    int __thiscall GamesListener__GamesListener(GamesListener *this, int a2);
    GamesListener_sub_B8D310
    GamesListener *__thiscall GamesListener_sub_B8D310(GamesListener *this, char a2);
    Platform_sub_B8D360
    int __thiscall Platform_sub_B8D360(Platform *this);
    Platform::InitializeAllAPIs
    int __thiscall Platform__InitializeAllAPIs(Platform *this);
    Platform::Platform
    Platform *__thiscall Platform__Platform(Platform *this);
    Platform_sub_B8DAF0
    Platform *__thiscall Platform_sub_B8DAF0(Platform *this, char a2);
    Platform::Startup
    int __thiscall Platform__Startup(Platform *this, int a2, int a3);
    Platform_sub_B8DB80
    int __thiscall Platform_sub_B8DB80(Platform *this, int a2, int a3, int a4);
    Platform_sub_B8DC20
    int __thiscall Platform_sub_B8DC20(Platform *this, int a2, int a3);
    Platform::Connect
    int __thiscall Platform__Connect(Platform *this, int a2, int a3, char a4, int a5);
    Platform_sub_B8E4A0
    int __thiscall Platform_sub_B8E4A0(Platform *this, int a2);
    Platform_sub_B8E610
    int __thiscall Platform_sub_B8E610(Platform *this, int a2);
    InitializeUnkBnetService128BytesStruct
    void *__thiscall InitializeUnkBnetService128BytesStruct(UnkBnetService128BytesStruct *this, BnetService *service);
    InitializeUnkBnetService12BytesStruct
    void *__thiscall InitializeUnkBnetService12BytesStruct(UnkBnetService12BytesStruct *this, BnetService *service);
    InitializeUnkBnetService248BytesStruct
    void *__thiscall InitializeUnkBnetService248BytesStruct(UnkBnetService248BytesStruct *this, BnetService *service);
    BnetGames::IsGamesApiInitialized
    int __thiscall BnetGames__IsGamesApiInitialized(BnetGames *this);
    BnetGames_sub_BA57A0
    bool __thiscall BnetGames_sub_BA57A0(BnetGames *this);
    BnetGames_sub_BA57B0
    int __thiscall BnetGames_sub_BA57B0(BnetGames *this);
    BnetGames::OnAPIBound
    int __thiscall BnetGames__OnAPIBound(BnetGames *this, int a2);
    BnetGames_sub_BA71E0
    int __thiscall BnetGames_sub_BA71E0(BnetGames *this, int a2);
    BnetGames::Platform_CreatePrivateGameCallback
    int __thiscall BnetGames__Platform_CreatePrivateGameCallback(BnetGames *this, int a2);
    BnetGames::LeaveGame
    int __thiscall BnetGames__LeaveGame(BnetGames *this, int a2, int a3, int a4);
    BnetGames_sub_BA8D80
    int __thiscall BnetGames_sub_BA8D80(BnetGames *this, int a2);
    BnetGames::Platform_CreatePublicGameCallback
    int __thiscall BnetGames__Platform_CreatePublicGameCallback(BnetGames *this, int a2);
    BnetGames_sub_BA8F90
    int __stdcall BnetGames_sub_BA8F90(int a1, const char *a2);
    BnetGames_sub_BAA4F0
    int __thiscall BnetGames_sub_BAA4F0(BnetGames *this, int a2, int a3);
    BnetGames_sub_BADE00
    int __thiscall BnetGames_sub_BADE00(BnetGames *this);
    BnetGames::BnetGames
    BnetGames *__thiscall BnetGames__BnetGames(BnetGames *this, BnetService *service);
    BnetGames_sub_BAEC10
    int __thiscall BnetGames_sub_BAEC10(BnetGames *this);
    BnetGames_sub_BAF360
    int __thiscall BnetGames_sub_BAF360(BnetGames *this, int a2, int a3, int a4);
    BnetGames_sub_BAF700
    int __thiscall BnetGames_sub_BAF700(BnetGames *this, int a2, int a3, char *a4);
    BnetGames::Platform_OnGetGameFactoryInfo
    int __thiscall BnetGames__Platform_OnGetGameFactoryInfo(BnetGames *this, int a2, int a3, int a4, char *a5);
    BnetGames::Platform_OnGameFactoryList
    int __thiscall BnetGames__Platform_OnGameFactoryList(BnetGames *this, int a2, int a3);
    BnetGames::JoinPartyMemberToMyGame
    int __thiscall BnetGames__JoinPartyMemberToMyGame(BnetGames *this, int a2, int a3, int a4);
    BnetGames::CreatePublicGame_DoWork
    int __thiscall BnetGames__CreatePublicGame_DoWork(BnetGames *this, int a2);
    BnetGames::CreatePrivateGame
    int __thiscall BnetGames__CreatePrivateGame(BnetGames *this, int a2, int a3, int a4);
    BnetGames::JoinGame
    int __thiscall BnetGames__JoinGame(BnetGames *this, int a2, int a3, int a4);
    BnetGames::Platform_CancelFindGameCallback
    int __thiscall BnetGames__Platform_CancelFindGameCallback(BnetGames *this, int a2);
    BnetGames::CancelSearchForPublicGame
    int __thiscall BnetGames__CancelSearchForPublicGame(BnetGames *this, int a2, int a3);
    BnetGames::CreatePublicGame
    int __thiscall BnetGames__CreatePublicGame(BnetGames *this, char *a2, int a3, int a4);
    BnetGames::SearchForPublicGame
    int __thiscall BnetGames__SearchForPublicGame(BnetGames *this, int a2, int a3, int a4);
    InitializeUnkBnetService76BytesStruct
    void *__thiscall InitializeUnkBnetService76BytesStruct(UnkBnetService76BytesStruct *this, BnetService *service);
    InitializeUnkBnetService2456BytesStruct
    void *__thiscall InitializeUnkBnetService2456BytesStruct(UnkBnetService2456BytesStruct *this, BnetService *service);
    Hero_sub_BC77C0
    Hero *__thiscall Hero_sub_BC77C0(Hero *this, int a2);
    Hero_sub_BCBD80
    Hero *__thiscall Hero_sub_BCBD80(Hero *this, int a2);
    InitializeUnkBnetService2880BytesStruct
    void *__thiscall InitializeUnkBnetService2880BytesStruct(UnkBnetService2880BytesStruct *this, BnetService *service);
    InitializeUnkBnetService1144BytesStruct
    void *__thiscall InitializeUnkBnetService1144BytesStruct(void *this, BnetService *service);
    InitializeUnkBnetService8BytesStruct_0
    UnkBnetService8BytesStruct *__thiscall InitializeUnkBnetService8BytesStruct_0(UnkBnetService8BytesStruct *this, BnetService *a2);
    UnkBnetService12BytesStruct_sub_C11980
    int __thiscall UnkBnetService12BytesStruct_sub_C11980(UnkBnetService12BytesStruct *this, BnetService *service);
    BnetGameAccount::HeroCreate_OnCreateToon
    int __cdecl BnetGameAccount__HeroCreate_OnCreateToon(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, char Src);
    PartyListener::OnPartyJoined
    int __stdcall PartyListener__OnPartyJoined(void *Src, int, int, int);
    UserManagerListener::OnUserBlocked_OnRequestField
    int __cdecl UserManagerListener__OnUserBlocked_OnRequestField(char Src, int, int, int, int, int);
    ThreadSleep
    char __cdecl ThreadSleep(DWORD dwMilliseconds);
    GetCurrentProcessId
    DWORD __stdcall GetCurrentProcessId();
    Blizzard::Patch::ApplyTransform
    int __cdecl Blizzard__Patch::ApplyTransform(int, void *Dst, size_t Size, void *Src, int);
    GetTickCount
    DWORD __stdcall GetTickCount();
    GetExeName
    int __cdecl GetExeName(int (*a1)(_DWORD, const char *, ...), int a2);
    GamesListener_sub_D238B0
    void __cdecl GamesListener_sub_D238B0(GamesListener *a1, int a2);
    AllocateMemory
    int __cdecl AllocateMemory(int nBytes);
    GamesListener_sub_D23F50
    void __cdecl GamesListener_sub_D23F50(GamesListener *a1);
    System_SFile::BitPacked::BitPacked
    void __thiscall System_SFile__BitPacked::BitPacked(void *);
    OutputDebugString
    int __cdecl OutputDebugString(LPCSTR lpOutputString);
    TerminateProcessEx
    int __stdcall TerminateProcessEx(UINT uExitCode, int);
    CreateCrashDumpFile
    int __stdcall CreateCrashDumpFile(int, LPCSTR lpFileName);
    memset
    void *__cdecl memset(void *Dst, int Val, size_t Size);
    free
    void __cdecl free(void *Memory);
    sprintf
    int sprintf(char *Dest, const char *Format, ...);
    malloc
    void *__cdecl malloc(size_t Size);
    strncpy
    char *__cdecl strncpy(char *Dest, const char *Source, size_t Count);
    memcpy
    void *__cdecl memcpy(void *Dst, const void *Src, size_t Size);
    floor
    double __cdecl floor(double);
    memmove_s
    errno_t __cdecl memmove_s(void *Dst, rsize_t DstSize, const void *Src, rsize_t MaxCount);
    rand
    int __cdecl rand();
    strrchr
    char *__cdecl strrchr(const char *Str, int Ch);
    _recalloc
    void *__cdecl _recalloc(void *Memory, size_t Count, size_t Size);
    _gmtime64
    struct tm *__cdecl _gmtime64(const __time64_t *Time);
    _vsnprintf
    int __cdecl _vsnprintf(char *DstBuf, size_t MaxCount, const char *Format, va_list ArgList);
    _stricmp
    int __cdecl _stricmp(const char *Str1, const char *Str2);
    asin
    double __cdecl asin(double);
    _ismbblead
    int __cdecl _ismbblead(unsigned int);
    ?terminate@@YAXXZ
    void __cdecl ?terminate@@YAXXZ();
    _controlfp_s
    errno_t __cdecl _controlfp_s(unsigned int *CurrentState, unsigned int NewValue, unsigned int Mask);
    ?_type_info_dtor_internal_method@type_info@@QAEXXZ
    void __thiscall ?_type_info_dtor_internal_method@type_info@@QAEXXZ(void *);
    __WSAFDIsSet
    int __stdcall __WSAFDIsSet(SOCKET fd, fd_set *);
    select
    int __stdcall select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout);
    MiniDumpWriteDump
    BOOL __stdcall MiniDumpWriteDump(HANDLE hProcess, DWORD ProcessId, HANDLE hFile, MINIDUMP_TYPE DumpType, PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, PMINIDUMP_CALLBACK_INFORMATION CallbackParam);
    VerQueryValueA
    BOOL __stdcall VerQueryValueA(LPCVOID pBlock, LPCSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen);
    GetFileVersionInfoA
    BOOL __stdcall GetFileVersionInfoA(LPCSTR lptstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData);
    GetFileVersionInfoSizeA
    DWORD __stdcall GetFileVersionInfoSizeA(LPCSTR lptstrFilename, LPDWORD lpdwHandle);
    D3DPERF_EndEvent
    int __stdcall D3DPERF_EndEvent();
    Direct3DCreate9
    IDirect3D9 *__stdcall Direct3DCreate9(UINT SDKVersion);
    D3DPERF_BeginEvent
    int __stdcall D3DPERF_BeginEvent(D3DCOLOR col, LPCWSTR wszName);
    InternetCloseHandle
    BOOL __stdcall InternetCloseHandle(HINTERNET hInternet);
    free_0
    void __cdecl free_0(void *Memory);
    ImmAssociateContext
    HIMC __stdcall ImmAssociateContext(HWND, HIMC);
    ImmReleaseContext
    BOOL __stdcall ImmReleaseContext(HWND, HIMC);
    ImmGetConversionStatus
    BOOL __stdcall ImmGetConversionStatus(HIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence);
    ImmGetContext
    HIMC __stdcall ImmGetContext(HWND);
    ImmGetCandidateListW
    DWORD __stdcall ImmGetCandidateListW(HIMC, DWORD deIndex, LPCANDIDATELIST lpCandList, DWORD dwBufLen);
    ImmGetCompositionStringW
    LONG __stdcall ImmGetCompositionStringW(HIMC, DWORD, LPVOID lpBuf, DWORD dwBufLen);
    GetUserDefaultLCID
    LCID __stdcall GetUserDefaultLCID();
    Sleep
    void __stdcall Sleep(DWORD dwMilliseconds);
    Process32First
    BOOL __stdcall Process32First(HANDLE hSnapshot, LPPROCESSENTRY32 lppe);
    Process32Next
    BOOL __stdcall Process32Next(HANDLE hSnapshot, LPPROCESSENTRY32 lppe);
    Module32First
    BOOL __stdcall Module32First(HANDLE hSnapshot, LPMODULEENTRY32 lpme);
    Module32Next
    BOOL __stdcall Module32Next(HANDLE hSnapshot, LPMODULEENTRY32 lpme);
    CreateToolhelp32Snapshot
    HANDLE __stdcall CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID);
    Thread32Next
    BOOL __stdcall Thread32Next(HANDLE hSnapshot, LPTHREADENTRY32 lpte);
    Thread32First
    BOOL __stdcall Thread32First(HANDLE hSnapshot, LPTHREADENTRY32 lpte);
    Module32NextW
    BOOL __stdcall Module32NextW(HANDLE hSnapshot, LPMODULEENTRY32W lpme);
    Module32FirstW
    BOOL __stdcall Module32FirstW(HANDLE hSnapshot, LPMODULEENTRY32W lpme);
    ConvertStringSecurityDescriptorToSecurityDescriptorW
    BOOL __stdcall ConvertStringSecurityDescriptorToSecurityDescriptorW(LPCWSTR StringSecurityDescriptor, DWORD StringSDRevision, PSECURITY_DESCRIPTOR *SecurityDescriptor, PULONG SecurityDescriptorSize);
    AdjustTokenPrivileges
    BOOL __stdcall AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength);
    Platform::IsConnected
    bool __thiscall Platform__IsConnected(Platform *this);
    Platform::OnDestroyAllAPIs
    int __thiscall Platform__OnDestroyAllAPIs(Platform *this, int code);
    Platform_sub_FA54E0
    bool __thiscall Platform_sub_FA54E0(Platform *this);
    Platform::APICleanup_LocalStorage
    int __thiscall Platform__APICleanup_LocalStorage(Platform *this);
    Platform::APICleanup_Search
    int __thiscall Platform__APICleanup_Search(Platform *this);
    Platform::APICleanup_RemoteLock
    int __thiscall Platform__APICleanup_RemoteLock(Platform *this);
    Platform::APICleanup_Identity
    int __thiscall Platform__APICleanup_Identity(Platform *this);
    Platform::APICleanup_RemoteStorage
    int __thiscall Platform__APICleanup_RemoteStorage(Platform *this);
    Platform::Disconnect
    void __thiscall Platform__Disconnect(Platform *this);
    Platform::OnConnected_Internal
    int __thiscall Platform__OnConnected_Internal(Platform *this, int a2, int a3);
    Platform::OnConnectionInterrupted_Internal
    int __thiscall Platform__OnConnectionInterrupted_Internal(Platform *this, int a2);
    Platform::OnConnectionReestablished_Internal
    int __thiscall Platform__OnConnectionReestablished_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Authentication_Internal
    int __thiscall Platform__OnAPIInitialized_Authentication_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Presence_Internal
    int __thiscall Platform__OnAPIInitialized_Presence_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Toons_Internal
    int __thiscall Platform__OnAPIInitialized_Toons_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Friends_Internal
    int __thiscall Platform__OnAPIInitialized_Friends_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Followers_Internal
    int __thiscall Platform__OnAPIInitialized_Followers_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Party_Internal
    int __thiscall Platform__OnAPIInitialized_Party_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Chat_Internal
    int __thiscall Platform__OnAPIInitialized_Chat_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Whisper_Internal
    int __thiscall Platform__OnAPIInitialized_Whisper_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Resources_Internal
    int __thiscall Platform__OnAPIInitialized_Resources_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_UserManager_Internal
    int __thiscall Platform__OnAPIInitialized_UserManager_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_GameServer_Internal
    int __thiscall Platform__OnAPIInitialized_GameServer_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_GameUtilities_Internal
    int __thiscall Platform__OnAPIInitialized_GameUtilities_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_ExchangeObjectProvider_Internal
    int __thiscall Platform__OnAPIInitialized_ExchangeObjectProvider_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Search_Internal
    int __thiscall Platform__OnAPIInitialized_Search_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_RemoteLock_Internal
    int __thiscall Platform__OnAPIInitialized_RemoteLock_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Identity_Internal
    int __thiscall Platform__OnAPIInitialized_Identity_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Games_Internal
    int __thiscall Platform__OnAPIInitialized_Games_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_RemoteStorage_Internal
    int __thiscall Platform__OnAPIInitialized_RemoteStorage_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_LocalStorage_Internal
    int __thiscall Platform__OnAPIInitialized_LocalStorage_Internal(Platform *this, int a2);
    Platform::OnAPIInitialized_Exchange_Internal
    int __thiscall Platform__OnAPIInitialized_Exchange_Internal(Platform *this, int a2);
    Platform::APICleanup_Presence
    int __thiscall Platform__APICleanup_Presence(_DWORD result, int a2);
    Platform::APIInitialize_Presence
    int __thiscall Platform__APIInitialize_Presence(Platform *this, int a2);
    Platform::APIInitialize_Search
    int __thiscall Platform__APIInitialize_Search(Platform *this);
    Platform::APIInitialize_RemoteLock
    int __thiscall Platform__APIInitialize_RemoteLock(Platform *this);
    Platform::APIInitialize_Identity
    int __thiscall Platform__APIInitialize_Identity(Platform *this);
    Platform::APIInitialize_RemoteStorage
    int __thiscall Platform__APIInitialize_RemoteStorage(Platform *this);
    Platform::APIInitialize_LocalStorage
    int __thiscall Platform__APIInitialize_LocalStorage(Platform *this);
    Platform::DestroyInterface
    void __thiscall Platform__DestroyInterface(Platform *this, char *a2, int a3);
    Platform::APICleanup_Games
    void __thiscall Platform__APICleanup_Games(Platform *this);
    Platform::APICleanup_GameServer
    void __thiscall Platform__APICleanup_GameServer(Platform *this);
    Platform::APICleanup_GameUtilities
    void __thiscall Platform__APICleanup_GameUtilities(Platform *this);
    Platform::APIDestroy_ExchangeObjectProvider
    void __thiscall Platform__APIDestroy_ExchangeObjectProvider(Platform *this);
    Platform::APICleanup_Whisper
    void __thiscall Platform__APICleanup_Whisper(Platform *this);
    Platform::APICleanup_Resources
    void __thiscall Platform__APICleanup_Resources(Platform *this);
    Platform::APICleanup_UserManager
    void __thiscall Platform__APICleanup_UserManager(Platform *this);
    Platform::APICleanup_Chat
    void __thiscall Platform__APICleanup_Chat(Platform *this);
    Platform::APICleanup_Party
    void __thiscall Platform__APICleanup_Party(Platform *this);
    Platform::APICleanup_Followers
    void __thiscall Platform__APICleanup_Followers(Platform *this);
    Platform::APICleanup_Friends
    void __thiscall Platform__APICleanup_Friends(Platform *this);
    Platform::APICleanup_Toons
    void __thiscall Platform__APICleanup_Toons(Platform *this);
    Platform::APICleanup_Authentication
    void __thiscall Platform__APICleanup_Authentication(Platform *this);
    Platform_sub_FB7B70
    void __thiscall Platform_sub_FB7B70(Platform *this);
    Platform::Shutdown
    void __thiscall Platform__Shutdown(Platform *this, char *reason);
    Platform::Initialize
    int __thiscall Platform__Initialize(Platform *this, int a2);
    Platform_sub_FB8C80
    int __userpurge<eax> Platform_sub_FB8C80(int a1<eax>, Platform *a2<ecx>, int esi0<esi>, int *a3);
    Platform::ConnectEx
    signed int __thiscall Platform__ConnectEx(Platform *this, int a2, int a3, int a4, int a5, int a6, int a7);
    Platform::APIInitialize_Authentication
    int __thiscall Platform__APIInitialize_Authentication(Platform *this, int a2);
    Platform::APIInitialize_Toons
    int __thiscall Platform__APIInitialize_Toons(Platform *this, int a2);
    Platform::APIInitialize_Friends
    int __thiscall Platform__APIInitialize_Friends(Platform *this, int a2);
    Platform::APIInitialize_Followers
    int __thiscall Platform__APIInitialize_Followers(Platform *this, int a2);
    Platform::APIInitialize_Party
    int __thiscall Platform__APIInitialize_Party(Platform *this, int a2);
    Platform::APIInitialize_Chat
    int __thiscall Platform__APIInitialize_Chat(Platform *this, int a2);
    Platform::APIInitialize_Whisper
    int __thiscall Platform__APIInitialize_Whisper(Platform *this, int a2);
    Platform::APIInitialize_Resources
    int __thiscall Platform__APIInitialize_Resources(Platform *this, int a2);
    Platform::APIInitialize_UserManager
    int __thiscall Platform__APIInitialize_UserManager(Platform *this, int a2);
    Platform::APIInitialize_GameServer
    int __thiscall Platform__APIInitialize_GameServer(Platform *this, int a2);
    Platform::APIInitialize_GameUtilities
    int __thiscall Platform__APIInitialize_GameUtilities(Platform *this, int a2);
    Platform::APIInitialize_Exchange
    int __thiscall Platform__APIInitialize_Exchange(Platform *this, int a2);
    Platform::APIInitialize_ExchangeObjectProvider
    int __thiscall Platform__APIInitialize_ExchangeObjectProvider(Platform *this, int a2);
    Platform::APIInitialize_Games
    int __thiscall Platform__APIInitialize_Games(Platform *this, int a2);
    Platform::RequestFields
    int __thiscall Platform__RequestFields(Platform *this, void *Src, int a3, int a4, int a5);
    Platform::PublishFields
    int __stdcall Platform__PublishFields(int a1, Platform *platform, void *Src, int a4);
    Platform_sub_FBA7B0
    int __stdcall Platform_sub_FBA7B0(int a1, Platform *a2, int a3);
    Platform_sub_FBAA90
    int __thiscall Platform_sub_FBAA90(Platform *this, int a2);
    Platform::OnDisconnected_Internal
    int __thiscall Platform__OnDisconnected_Internal(Platform *this, int a2);
    InitializeUnkBnetService8BytesStruct
    UnkBnetService8BytesStruct *__thiscall InitializeUnkBnetService8BytesStruct(UnkBnetService8BytesStruct *this, Platform *a2);
    Platform::OnConnectionReestablished
    int __thiscall Platform__OnConnectionReestablished(int this, int a2);
    printf
    int printf(const char *Format, ...);
    strcmp
    int __cdecl strcmp(const char *Str1, const char *Str2);
    strlen
    size_t __cdecl strlen(const char *Str);
    strcpy
    char *__cdecl strcpy(char *Dest, const char *Source);
    abs
    int __cdecl abs(int X);
    GetAcceptExSockaddrs
    void __stdcall GetAcceptExSockaddrs(PVOID lpOutputBuffer, DWORD dwReceiveDataLength, DWORD dwLocalAddressLength, DWORD dwRemoteAddressLength, struct sockaddr **LocalSockaddr, LPINT LocalSockaddrLength, struct sockaddr **RemoteSockaddr, LPINT RemoteSockaddrLength);
    AcceptEx
    BOOL __stdcall AcceptEx(SOCKET sListenSocket, SOCKET sAcceptSocket, PVOID lpOutputBuffer, DWORD dwReceiveDataLength, DWORD dwLocalAddressLength, DWORD dwRemoteAddressLength, LPDWORD lpdwBytesReceived, LPOVERLAPPED lpOverlapped);
    Last edited by Nesox; 04-09-2012 at 12:21 PM.

    [Diablo 3][0.2.0.7200] Info Dump Thread
  2. #2
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    I've been posting some stuff over at blizzhackers so far [could we get a D3 mem editing section?], it's not much though.

    Code:
    2011.09.08 14:08:50.570818600   <BUILD>0.3.0.7318.BETA (31222-477554)</BUILD>
    
    00ACD120  int __thiscall D3CloseD3DInWindow(int this)
    00ACA210  int __thiscall D3CreateD3DInWindow(int this, DisplayMode *windowMode)
    00ACD180  bool __thiscall D3CreateWindowAndDirect3D(int this, DisplayMode *windowMode)
    00919510  int __cdecl D3CreateWindowMode(int)
    00ACAEF0  bool __thiscall D3CreateWindowWrapper(int this, DisplayMode *windowMode)
    00ACC910  int __thiscall D3InitializeGraphics(int this, DisplayMode *windowMode)
    00D3D8E0  int __cdecl D3ZeroMemory(void *Dst, size_t Size)
    0098EA50  int __cdecl ScanPreferences()
    
    struct DisplayMode // See D3Prefs.txt
    {
      DWORD Flags;
      DWORD WindowMode;
      DWORD WinLeft;
      DWORD WinTop;
      DWORD WinWidth;
      DWORD WinHeight;
      DWORD UIOptWidth;
      DWORD UIOptHeight;
      DWORD Width;
      DWORD Height;
      DWORD RefreshRate;
      DWORD BitDepth;
      DWORD FSAAQuality;
    }; // sizeof(DisplayMode) == 0x34
    
    Build: 0.3.0.7318.BETA (31222-477554)
    
    00ABBA30    char __thiscall D3TextboxRemoveCharacters(D3UIObject *uiObject, int removeAll)
    009A95F0    char* __thiscall D3TextboxGetText(D3UITextBox *this)
    009A9600    int __thiscall D3TextboxGetLength(D3UITextBox *this)
    00964A00    bool __thiscall D3TextboxHasSelectedText(D3UIObject *this)
    00ABABE0    int __thiscall D3TextboxRemoveSelectedCharacters(D3UIObject *this)
    
    struct D3UITextBox
    {
      DWORD VTABLE;
      DWORD Unknown00[6];
      DWORD IsVisible;
      DWORD Unknown01;
      DWORD Unknown02;
      char ObjectDescString[2040]; // size not necessarily correct
      D3UITextBox Textbox;
      BYTE Unknown03[192];
      DWORD SelectionIndexStart; // -1 if nothing selected
      DWORD SelectionIndexEnd; // -1 if nothing selected
      BYTE Unknown04[144];
      DWORD TextCursorPosition;
      BYTE Fill[40960]; // size not correct
      // ?
    }; // size == ?
    
    struct D3UITextBoxText
    {
      char *Text;
      DWORD Unknown00[3];
      DWORD TextLength;
      DWORD IsPassword; // 1 = only dots will be displayed
      // ?
    }; // size == ?
    
    Button vtable:      0x011870B0
    Textbox vtable:     0x011842F8
    Label vtable:       0x0115DE90
    scrollbar vtable:   0x01195128
    TextArea vtable:    0x011902E8
    ??  Dialog/Root?    0x011836B0
    
    Battle.net.dll protobuf code -- SKU/thesku
    
    absolute   relative   name
    0x3cb5fec0 0x0024fec0 Message::InitializationErrorString
    0x3cb5ff50 0x0024ff50 Message::CheckInitialized
    0x3cb60210 0x00250210 Message::ParseFromIstream
    0x3cacd840 0x001bd840 CodedInputStream::ConsumedEntireMessage
    0x3cacda90 0x001bda90 CodedInputStream::dtorCodedInputStream
    0x3cb1a9e0 0x0020a9e0 CodedInputStream::PushLimit
    0x3cb1aaa0 0x0020aaa0 CodedInputStream::BytesUntilLimit
    0x3cb1b860 0x0020b860 CodedOutputStream::CodedOutputStream
    0x3cb1c9e0 0x0020c9e0 ArrayOutputStream::ArrayOutputStream
    0x3cb6e0a0 0x0025e0a0 IstreamInputStream::IstreamInputStream
    0x3cad77e0 0x001c77e0 MessageLite::InitializationErrorString
    0x3cad7810 0x001c7810 ByteSizeConsistencyError
    0x3cad79d0 0x001c79d0 InitializationErrorMessage
    0x3cad7b00 0x001c7b00 MessageLite::MergeFromCodedStream
    0x3cad7b20 0x001c7b20 MessageLite::ParseFromCodedStream
    0x3cad7b40 0x001c7b40 MessageLite::ParsePartialFromCodedStream
    0x3cad7b60 0x001c7b60 MessageLite::ParseFromZeroCopyStream
    0x3cad7c00 0x001c7c00 MessageLite::ParsePartialFromZeroCopyStream
    0x3cad7ca0 0x001c7ca0 MessageLite::ParseFromBoundedZeroCopyStream
    0x3cad7d50 0x001c7d50 MessageLite::ParsePartialFromBoundedZeroCopyStream
    0x3cad7e00 0x001c7e00 MessageLite::ParseFromString
    0x3cad7e30 0x001c7e30 MessageLite::ParsePartialFromString
    0x3cad7e60 0x001c7e60 MessageLite::ParseFromArray
    0x3cad7e90 0x001c7e90 MessageLite::ParsePartialFromArray
    0x3cad7ec0 0x001c7ec0 MessageLite::SerializeWithCachedSizesToArray
    0x3cad7ff0 0x001c7ff0 MessageLite::SerializeToCodedStream
    0x3cad8120 0x001c8120 MessageLite::SerializePartialToCodedStream
    0x3cad8210 0x001c8210 MessageLite::SerializeToZeroCopyStream
    0x3cad8280 0x001c8280 MessageLite::SerializePartialToZeroCopyStream
    0x3cad82f0 0x001c82f0 MessageLite::AppendToString
    0x3cad8420 0x001c8420 MessageLite::AppendPartialToString
    0x3cad84c0 0x001c84c0 MessageLite::SerializeToString
    0x3cad84f0 0x001c84f0 MessageLite::SerializePartialToString
    0x3cad8520 0x001c8520 MessageLite::SerializeToArray
    0x3cad8650 0x001c8650 MessageLite::SerializePartialToArray
    0x3cad86d0 0x001c86d0 MessageLite::SerializeAsString
    0x3cad8770 0x001c8770 MessageLite::SerializePartialAsString
    0x3cad8840 0x001c8840 InlineMergeFromCodedStream
    0x3cad8930 0x001c8930 InlineParseFromCodedStream
    0x3cad8960 0x001c8960 InlineParsePartialFromCodedStream
    0x3cad8990 0x001c8990 CodedInputStream::CodedInputStream
    0x3cad8a40 0x001c8a40 InlineParseFromArray
    0x3cad8ae0 0x001c8ae0 InlineParsePartialFromArray
    0x3cad8b80 0x001c8b80 CodedOutputStream::HadError
    0x3cad8ba0 0x001c8ba0 CodedOutputStream::GetDirectBufferForNBytesAndAdvance
    0x3cb4c650 0x0023c650 Message::DebugString
    0x3cb4c6f0 0x0023c6f0 Message::ShortDebugString
    0x3cb4cff0 0x0023cff0 TextFormat::Printer::Printer
    0x3cb4d030 0x0023d030 TextFormat::Printer::PrintToString
    0x3cb4e280 0x0023e280 TextFormat::PrintToString
    0x3cb4e8c0 0x0023e8c0 TextFormat::Printer::SetSingleLineMode
    It's a bit silly that everyone's doing their own sandbox atm - we'd be much further if people would collaborate a bit :/

  3. #3
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SKU View Post
    00ACD120 int __thiscall D3CloseD3DInWindow(int this)
    00ACA210 int __thiscall D3CreateD3DInWindow(int this, DisplayMode *windowMode)
    00ACD180 bool __thiscall D3CreateWindowAndDirect3D(int this, DisplayMode *windowMode)
    00919510 int __cdecl D3CreateWindowMode(int)
    00ACAEF0 bool __thiscall D3CreateWindowWrapper(int this, DisplayMode *windowMode)
    00ACC910 int __thiscall D3InitializeGraphics(int this, DisplayMode *windowMode)

    It's a bit silly that everyone's doing their own sandbox atm - we'd be much further if people would collaborate a bit :/
    Amen to that sister! btw. here's the struct passed as 'this' for all the Window/d3d functions.
    Code:
    struct Window
    {
      WindowVTable *VTable;
      _DWORD dword4;
      _DWORD dword8;
      _DWORD dwordC;
      _BYTE f8[20];
      _DWORD Flags;
      _DWORD AdapterOrdinal;
      DWORD DevType;
      DWORD Behavior;
      DWORD Flags2;
      _BYTE f30[12];
      char *GfxDriver;
      _BYTE f31[508];
      char *GfxName;
      _BYTE f32[508];
      char *MonitorNumber;
      _BYTE f35[28];
      WORD DriverRevisionNumber;
      WORD DriverBuildNumber;
      WORD DriverMinorVersion;
      WORD DriverMajorVersion;
      DWORD VendorID;
      DWORD DeviceID;
      _BYTE f34[28];
      IDirect3D9 *PrimaryDevice;
      IDirect3D9 *SecondaryDevice;
      DWORD unk0[1];
      IDirect3DSurface9 *Surface;
      DWORD unk[15];
      DWORD ResWidth;
      DWORD ResHeight;
      DWORD Fmt;
      DWORD BBC;
      DWORD MST;
      DWORD MSQ;
      DWORD Swap;
      DWORD unk8;
      DWORD Windowed;
      DWORD EADS;
      DWORD ADSFmt;
      DWORD Flags3;
      DWORD FSHz;
      DWORD PresInt;
      IDirect3DVertexShader9 *VertexShader;
    
      DWORD unk1[1];
      IDirect3DPixelShader9 *PixelShader;
      DWORD unk2[15];
      IDirect3DVertexDeclaration9 *VertexDeclaration;
      DWORD unk2[780];
    };
    
    struct IDirect3D9
    
     {
    
       struct IDirect3DDevice9Vtbl *lpVtbl;
    
     };
    Last edited by Nesox; 04-09-2012 at 12:21 PM.

  4. #4
    DrakeFish's Avatar Lazy Leecher

    Reputation
    634
    Join Date
    Nov 2008
    Posts
    569
    Thanks G/R
    0/14
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here are some UI stuff, this is for version 0.3.0.7318.

    Those names are guessed, explanation is after the dump.
    Code:
    UI_PointerBase : 0x0131D7BC
    UI_Offset1 : 0x914
    UI_LastOffset : 0x20C
    
    UI_Offset_LastClicked : 0x828
    UI_Offset_Targeted : 0xA30 // Mouse Targeted
    UI_Offset_Focused : 0x210 // Keyboard focused

    After some reversing, I realized why the game was also copying 8 bytes before the control String when using it instead of just copying the string itself. The first 4 bytes are some kind of ID for this object. I'm still unsure what the second 4 bytes are for at the moment. After this there's the object string (path).

    Finding a UIObject address from it's "ID", requires more than just a pointer, here's how it basicly works:
    Code:
    Var1 = Read(Read(Read(Read(UI_PointerBase)+UI_Offset1))+0x8)
    
    // This is how the game does it
    // I guess it's always 0x7FF, but the game is getting this from a variable (always the same variable)
    Index = (ObjectID & 0x7FF)
    
    Var1 = Read(Var1 + (Index*4))
    
    // Now is the part where there are multiple levels for each Index, see next code
    Here's the non-optimized loop I quickly wrote too loop through values:
    Code:
    uint Addr = 0;
    lastAddr = Var1; // from the last code
                while (true)
                {
                    if (lastAddr == 0)
                    {
                        Console.WriteLine("Couldn't find the control, is it loaded?");
                        break;
                    }
                    else
                    {
                        uint nextAddr = D3.ReadUInt(D3.ReadUInt(lastAddr + 0x20C) + 0x20);
    
                        if (nextAddr == ID)
                        {
                            Addr = D3.ReadUInt(lastAddr + 0x20C);
                            break;
                        }
                        lastAddr = D3.ReadUInt(lastAddr);
                    }
                }
    
    // The Addr var that the loop outputs will be the BaseAddress. If the control wasn't found (invalid or not loaded), it will return 0.
    Here are some simple ID's if you want to test this. Once you have the address, just check Base+0x20 to get the path string.
    Code:
    Root = -2,
    Root.NormalLayer = 1,
    Root.WindowLayer = 2,
    Root.TopLayer = 3,


    Getting Hovered, Selected, Last Clicked UIObjects:
    Code:
    Read(Read(Read(UI_PointerBase)+UI_Offset1)UI_Offset_Hovered)
    Read(Read(Read(UI_PointerBase)+UI_Offset1)UI_Offset_Selected)
    Read(Read(Read(UI_PointerBase)+UI_Offset1)UI_Offset_LastClicked)



    Note: Some of this may not be completely understandable, just ask me if you need further information. I probably forgot something . I did not work on enumerating the controls, but this could be something interesting.

    Edit: According to Marcus from one of the IRC Channels, what I'm calling the ID is actually the hash. I'm unsure about this seeing Root, Root.NormalLayer, Root.WindowLayer and Root.TopLayer IDs. Unless those are handled differently than other controls because those are main layers (the base of the tree). He seems more advanced than me, so I'll just believe him
    Last edited by DrakeFish; 09-13-2011 at 04:50 PM.

  5. #5
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The wiki is now online: Diablo 3 Dev
    Code that hooks most of the login related protobuf message constructors and logs them: [C++] sku/thesku - Pastebin.com

  6. #6
    jayswag's Avatar Sergeant
    Reputation
    15
    Join Date
    Mar 2011
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    exciting! cannot wait to get my hands on this!
    AceticSoft.com - MMO Based Development Community. (Fly Mode, No Collision, Artifact Radar etc...)

Similar Threads

  1. [Diablo 3][0.8.0.8815] Info Dump Thread
    By vbaddicts in forum Diablo 3 Memory Editing
    Replies: 1
    Last Post: 03-16-2012, 05:36 AM
  2. [Diablo 3][0.4.0.7841] Info Dump Thread
    By felheartx in forum Diablo 3 Memory Editing
    Replies: 24
    Last Post: 12-15-2011, 09:41 PM
  3. [Diablo 3][0.3.0.7338] Info Dump Thread
    By Nesox in forum Diablo 3 Memory Editing
    Replies: 6
    Last Post: 11-01-2011, 04:58 AM
  4. [Diablo 3][0.3.0.7318] Info Dump Thread
    By Nesox in forum Diablo 3 Memory Editing
    Replies: 0
    Last Post: 09-16-2011, 03:08 PM
  5. [Diablo 3][0.2.0.7200] Info Dump Thread
    By Nesox in forum WoW Memory Editing
    Replies: 3
    Last Post: 09-13-2011, 05:09 AM
All times are GMT -5. The time now is 11:22 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search