MCPcopy Create free account
hub / github.com/Norbyte/ositools / FindItemFuncsEoCPlugin

Method FindItemFuncsEoCPlugin

OsiInterface/DataLibrariesEoCPlugin.cpp:617–640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

615 }
616
617 void LibraryManager::FindItemFuncsEoCPlugin()
618 {
619 Pattern p;
620 p.FromString(
621 "48 8B C8 " // mov rcx, rax
622 "48 89 5C 24 60 " // mov [rsp+0B8h+var_58.VMT], rbx
623 "E8 XX XX XX XX " // call esv__ParseItem
624 "33 D2 " // xor edx, edx
625 "48 8D 4C 24 60 " // lea rcx, [rsp+0B8h+var_58]
626 "E8 XX XX XX XX " // call esv__CreateItemFromParsed
627 );
628
629 p.Scan(moduleStart_, moduleSize_, [this](const uint8_t * match) {
630 auto parseAddr = AsmCallToAbsoluteAddress(match + 8);
631 ParseItem = (esv::ParseItem)parseAddr;
632 auto createAddr = AsmCallToAbsoluteAddress(match + 20);
633 CreateItemFromParsed = (esv::CreateItemFromParsed)createAddr;
634 }, false);
635
636 if (ParseItem == nullptr || CreateItemFromParsed == nullptr) {
637 Debug("LibraryManager::FindItemFuncsEoCPlugin(): Could not find esv::CreateItemFromParsed");
638 InitFailed = true;
639 }
640 }
641
642 void LibraryManager::FindCustomStatsEoCPlugin()
643 {

Callers

nothing calls this directly

Calls 4

DebugFunction · 0.85
FromStringMethod · 0.80
ScanMethod · 0.80
AsmCallToAbsoluteAddressFunction · 0.70

Tested by

no test coverage detected