| 918 | } |
| 919 | |
| 920 | uint64 X64CPU::DecodeThunk(uint64 address, DbgModuleMemoryCache* memoryCache) |
| 921 | { |
| 922 | uint8 inst = 0; |
| 923 | memoryCache->Read(address, &inst, 1); |
| 924 | if (inst == 0xE9) |
| 925 | { |
| 926 | int32 offset = 0; |
| 927 | memoryCache->Read(address + 1, (uint8*)&offset, sizeof(int32)); |
| 928 | return address + offset + 5; |
| 929 | } |
| 930 | |
| 931 | return 0; |
| 932 | } |
| 933 | |
| 934 | void X64CPU::GetNextPC(uint64 baseAddress, const uint8* dataBase, int dataLength, const uint8* dataPtr, uint32* regs, uint64 nextPCs[2]) |
| 935 | { |