From 6e97c80670c03fd1c33391e3f08918849bd2bff5 Mon Sep 17 00:00:00 2001
From: clc5q <clc5q@git.zephyr-software.com>
Date: Mon, 22 Feb 2016 20:28:30 +0000
Subject: [PATCH] Begin using new SMPFunction::FindShadowingPoint2 method.

Former-commit-id: 677a1fd5e80131cc897f763437d42231b066f9da
---
 include/base/SMPDataFlowAnalysis.h            |   6 +-
 include/base/SMPFunction.h                    |   1 +
 include/base/SMPProgram.h                     |   6 +-
 src/base/SMPDataFlowAnalysis.cpp              |   3 +
 src/base/SMPFunction.cpp                      | 271 +++++++++++--
 src/base/SMPProgram.cpp                       |   4 +-
 src/interfaces/idapro/STARSFunction.cpp       |   2 +
 tests/commit/save-busybox.psexe.infoannot     |  64 +--
 ...save-ffmpeg.psexe.infoannot.REMOVED.git-id |   2 +-
 .../save-gimp.psexe.infoannot.REMOVED.git-id  |   2 +-
 .../save-gnome-keyring-daemon.psexe.infoannot |   6 +-
 tests/commit/save-nginx.psexe.infoannot       | 364 ++++++++----------
 tests/commit/save-openssl.psexe.infoannot     | 358 ++++++++---------
 13 files changed, 628 insertions(+), 461 deletions(-)

diff --git a/include/base/SMPDataFlowAnalysis.h b/include/base/SMPDataFlowAnalysis.h
index e0380ccc..46b61e1c 100644
--- a/include/base/SMPDataFlowAnalysis.h
+++ b/include/base/SMPDataFlowAnalysis.h
@@ -691,13 +691,15 @@ typedef std::set<DefOrUse, LessDefUse> STARSDefUseSet;
 typedef std::set<DefOrUse, LessDefUse>::iterator STARSDefUseIter;
 typedef std::vector<DefOrUse>::iterator DefUseListIter;
 
-typedef std::pair<STARS_ea_t, DefUseListIter> ShadowPoint;
+// A data or function pointer shadowing point is a code address paired with an index
+//  into a vector of references, e.g. a DefUseList such as SMPFunction::TempShadowList.
+typedef std::pair<STARS_ea_t, std::size_t> ShadowPoint;
 
 // Comparison operator class to permit use of ShadowPoint type in sets.
 class LessShadowPoint {
 public:
 	bool operator()(const ShadowPoint &Ref1, const ShadowPoint &Ref2) const {
-		return ((Ref1.first < Ref2.first) || ((Ref1.first == Ref2.first) && ((&(*(Ref1.second))) < (&(*(Ref2.second))))));
+		return ((Ref1.first < Ref2.first) || ((Ref1.first == Ref2.first) && (Ref1.second < Ref2.second)));
 	}
 };
 
diff --git a/include/base/SMPFunction.h b/include/base/SMPFunction.h
index 27db9ce9..bbc9603c 100644
--- a/include/base/SMPFunction.h
+++ b/include/base/SMPFunction.h
@@ -692,6 +692,7 @@ private:
 	void MarkSpecialNumericErrorCases(void); // Detect and mark special cases before emitting numeric error annotations.
 	void EmitReturnTargetAnnotations(void); // Emit Indirect Branch Target destinations for return instructions in this func.
 	void EmitFuncPtrShadowingAnnotations(FILE *InfoAnnotFile); // Emit annotations for func ptr shadowing defense
+	bool IsAlreadyShadowed(const ShadowPoint &CriticalOp); // Is CriticalOp already represented in AlreadyShadowed set?
 	void EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile); // Emit annotations for func ptr shadowing defense
 	int FindInArgNumFromCopyAddr(STARS_ea_t CopyInstAddr); // return -1 if not found in InArgPointerCopyAddrs, InArg position # otherwise
 	bool MDFindReturnTypes(void); // Fill ReturnRegTypes[]
diff --git a/include/base/SMPProgram.h b/include/base/SMPProgram.h
index 17ecb4bc..3f6aa03d 100644
--- a/include/base/SMPProgram.h
+++ b/include/base/SMPProgram.h
@@ -86,19 +86,19 @@ inline bool IsAddressInCodeRange(STARS_ea_t addr) {
 
 class LessOff {
 public:
-	bool operator()(const std::pair<size_t, bool> &Off1, const std::pair<size_t, bool> &Off2) const {
+	bool operator()(const std::pair<std::size_t, bool> &Off1, const std::pair<std::size_t, bool> &Off2) const {
 		return (Off1.first < Off2.first);
 	} // end operator
 }; // end class LessOff
 
 struct GlobalVar {
 	STARS_ea_t addr;
-	size_t size;
+	std::size_t size;
 	char name[MAXSMPGLOBALVARSTR];
 	bool ReadOnly;  // came from read-only data segment type
 	bool IndexedAccess; 
 	STARS_flags_t flags;
-	std::set<std::pair<size_t, bool>, LessOff> FieldOffsets; // bool = accessed through index register by any instruction?
+	std::set<std::pair<std::size_t, bool>, LessOff> FieldOffsets; // bool = accessed through index register by any instruction?
 };
 
 class LtStr {
diff --git a/src/base/SMPDataFlowAnalysis.cpp b/src/base/SMPDataFlowAnalysis.cpp
index d92f7fb9..351333bb 100644
--- a/src/base/SMPDataFlowAnalysis.cpp
+++ b/src/base/SMPDataFlowAnalysis.cpp
@@ -2648,7 +2648,10 @@ DefOrUse::DefOrUse(STARSOpndTypePtr Ref, SMPOperandType Type, int SSASub) {
 	this->SSANumber = SSASub;
 	this->OpType = Type;
 
+#if 0
+	// Not true if we construct a reference for fptr shadowing late in our analyses.
 	assert(!IsProfDerived(Type));
+#endif
 	this->NonSpeculativeOpType = Type;
 	this->MetadataStatus = DEF_METADATA_UNANALYZED;
 	this->booleans1 = 0;
diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp
index 709ea7c1..6a35111e 100644
--- a/src/base/SMPFunction.cpp
+++ b/src/base/SMPFunction.cpp
@@ -78,9 +78,9 @@ using namespace std;
 #define SMP_COMPARE_IDA_STARS_STACK_POINTER_DELTAS 0
 #define STARS_AGGRESSIVE_SIGNEDNESS_PROPAGATION 1
 #define STARS_BUILD_LOOP_BITSET 1  // Build bitset in this->FuncLoopsByBlock
-#define STARS_DEBUG_MEMORY_CORRUPTION 0
 #define STARS_DEBUG_FUNC_SCCP 0
 #define STARS_DEBUG_LOOP_INVARIANTS 1
+#define STARS_DEBUG_FPTR_SHADOW_LIST 0
 
 // For debugging purposes, only emit SPARK Ada for main().
 #define STARS_EMIT_ADA_FOR_MAIN_ONLY 0
@@ -9286,18 +9286,37 @@ bool SMPFunction::FindShadowingPoint(const STARS_ea_t ShadowCheckAddr, const STA
 	return UnsafeChain;
 } // end of SMPFunction::FindShadowingPoint()
 
+// Is CriticalOp already represented in AlreadyShadowed set?
+bool SMPFunction::IsAlreadyShadowed(const ShadowPoint &CriticalOp) {
+	bool found = false;
+
+	for (ShadowSet::const_iterator AlreadyIter = this->AlreadyShadowed.cbegin(); AlreadyIter != this->AlreadyShadowed.cend(); ++AlreadyIter) {
+		if (AlreadyIter->first == CriticalOp.first) {
+			// Addresses match. Check operands pointed to.
+			if (IsEqOp(this->TempShadowList.GetRefNum(AlreadyIter->second)->GetOp(),
+				this->TempShadowList.GetRefNum(CriticalOp.second)->GetOp())) {
+				found = true;
+				break;
+			}
+		}
+	}
+	return found;
+} // end of SMPFunction::IsAlreadyShadowed()
+
 // Trace CriticalOp via copies back to ShadowAddr, return false if no valid means of shadowing it.
 //  Add new CriticalOp shadow-checking points to NewCriticalOps, which will be shadowed with separate indices.
 bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &ShadowAddrSet, bool &MemUnsafe, ShadowSet &NewCriticalOps) {
 	bool UnsafeChain = false;
 	STARS_ea_t ShadowCheckAddr = CriticalOp.first;
-	DefUseListIter ShadowCheckUseIter = CriticalOp.second;
-	STARSOpndTypePtr ShadowCheckUseOp = ShadowCheckUseIter->GetOp();
+	STARSOpndTypePtr ShadowCheckUseOp = this->TempShadowList.GetRefNum(CriticalOp.second)->GetOp();
 
 	if (!MDIsDataFlowOpnd(ShadowCheckUseOp, this->UsesFramePointer()) 
-		|| (this->AlreadyShadowed.find(CriticalOp) != this->AlreadyShadowed.end())) {
+		|| this->IsAlreadyShadowed(CriticalOp)) {
 		// end the recursion.
-		return true;  // if recursion has not started, ShadowAddrSet will be empty and no annotations will be emitted.
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+		SMP_msg("DEBUGINFO: Ending recursion (already shadowed or not DataFlowOpnd).\n");
+#endif
+			return true;  // if recursion has not started, ShadowAddrSet will be empty and no annotations will be emitted.
 	}
 	else {
 		this->AlreadyShadowed.insert(CriticalOp);
@@ -9305,8 +9324,7 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 
 	bool ValidShadowing = true;
 	bool ShadowPointFound = false;
-	DefUseListIter UseIter = ShadowCheckUseIter;
-	STARSOpndTypePtr UseOp = UseIter->GetOp();
+	STARSOpndTypePtr UseOp = ShadowCheckUseOp;
 	do {
 		int CheckBlockNum;
 		if (STARS_IsBlockNumPseudoID(ShadowCheckAddr)) {
@@ -9320,12 +9338,24 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 		SMPBasicBlock *CurrBlock = this->RPOBlocks[(size_t) CheckBlockNum];
 
 		bool LocalName = (!this->IsGlobalName(UseOp));
-		STARS_ea_t CurrShadowAddr = CurrBlock->GetDefAddrFromUseAddr(UseOp, ShadowCheckAddr, UseIter->GetSSANum(), LocalName);
+		STARS_ea_t CurrShadowAddr = CurrBlock->GetDefAddrFromUseAddr(UseOp, ShadowCheckAddr, this->TempShadowList.GetRefNum(CriticalOp.second)->GetSSANum(), LocalName);
 		if (STARS_BADADDR == CurrShadowAddr) {
 			ValidShadowing = false;
-			break; // cannot follow chain any higher, but previous chain info is still valid.
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: Bad CurrShadowAddr; terminating.\n");
+#endif
+				break; // cannot follow chain any higher, but previous chain info is still valid.
 		}
 		if (STARS_IsBlockNumPseudoID(CurrShadowAddr)) { // must have a Phi DEF
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: Starting Phi case.\n");
+			SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+			for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+				SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t) DebugIter->first);
+				PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+				SMP_msg("\n");
+			}
+#endif
 #if 1
 			int ShadowBlockNum = STARS_GetBlockNumFromPseudoID(CurrShadowAddr);
 			assert((0 <= ShadowBlockNum) && (this->GetNumBlocks() > ShadowBlockNum));
@@ -9336,23 +9366,75 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 			ShadowSet TempShadowAddrSet; // only union these into ShadowAddrSet if all Phi USE recursions succeed.
 
 			for (size_t PhiIndex = 0; PhiIndex < PhiIter->GetPhiListSize(); ++PhiIndex) {
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx before PhiUse pushback at %llx\n", 
+					(uint64_t) this->GetFirstFuncAddr(), (uint64_t) CurrBlock->GetFirstAddr());
+				this->TempShadowList.Dump();
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				this->TempShadowList.SetRef(UseOp->clone(), PhiIter->GetUseType(PhiIndex), PhiIter->GetUseSSANum(PhiIndex));
-				DefUseListIter PhiUseIter = this->TempShadowList.GetLastRef();
-				--PhiUseIter; // back up from end() sentinel to back() item
-				ShadowPoint PhiUsePoint(CurrShadowAddr, PhiUseIter);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx after PhiUse pushback\n", (uint64_t) this->GetFirstFuncAddr());
+				this->TempShadowList.Dump();
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
+				ShadowPoint PhiUsePoint(CurrShadowAddr, this->TempShadowList.GetSize() - 1);
 				ValidShadowing = this->FindShadowingPoint2(PhiUsePoint, TempShadowAddrSet, MemUnsafe, NewCriticalOps);
 				if (!ValidShadowing) {
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+					SMP_msg("DEBUGINFO: ValidShadowing = false for Phi recursion.\n");
+#endif
 					break;  // we must succeed on all Phi USEs
 				}
 			}
 			if (ValidShadowing) { // All Phi USEs succeeded
 				//  Remove current CriticalOp from ShadowAddrSet (if present); let the PhiUseOps logically take its place
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after Phi ValidShadowing: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				ShadowSet::iterator OldIter = ShadowAddrSet.find(CriticalOp);
 				if (OldIter != ShadowAddrSet.end()) { // found it
 					OldIter = ShadowAddrSet.erase(OldIter);
 				}
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality before Phi insert: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t) DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				// Insert the shadow points for all the Phi USEs now that all Phi USE recursions succeeded.
+#if 0
 				ShadowAddrSet.insert(TempShadowAddrSet.begin(), TempShadowAddrSet.end());
+#else
+				for (ShadowSet::const_iterator TempIter = TempShadowAddrSet.cbegin(); TempIter != TempShadowAddrSet.cend(); ++TempIter) {
+					pair<ShadowSet::iterator, bool> InsertResult = ShadowAddrSet.insert(*TempIter);
+				}
+#endif
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after Phi insert: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 			}
 			break; // success if ValidShadowing is true, failure otherwise
 #else
@@ -9360,12 +9442,21 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 #endif
 		}
 		else if (STARS_IsSSAMarkerPseudoID(CurrShadowAddr)) {
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: Starting SSAMarker case.\n");
+			SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+			for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+				SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+				PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+				SMP_msg("\n");
+			}
+#endif
 			list<SMPInstr *>::iterator FirstInstIter = this->GetFirstInstIter();
 			SMPInstr *CurrInst = (*FirstInstIter);
 			STARSDefUseIter NewDefIter = CurrInst->FindDef(UseOp);
 			assert(NewDefIter != CurrInst->GetLastDef());
 			if (CurrInst->IsLastInBlock()) {
-				// Bizarre corner case that might never happen. We cannot shadow here.
+				// Bizarre corner case that might never happen; first block has only SSA marker. We cannot shadow here.
 				ValidShadowing = false;
 				break;
 			}
@@ -9373,14 +9464,36 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 			//  Remove current CriticalOp from ShadowAddrSet (if present) and add new DEF in its place.
 			ShadowSet::iterator OldIter = ShadowAddrSet.find(CriticalOp);
 			if (OldIter != ShadowAddrSet.end()) { // found it
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality before SSAMarker erase: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				OldIter = ShadowAddrSet.erase(OldIter);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SSAMarker erase: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 			}
 			++FirstInstIter; // move to first real inst
 			CurrShadowAddr = (*FirstInstIter)->GetAddr();
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: TempShadowList for %llx before SSAMarker pushback\n", (uint64_t) this->GetFirstFuncAddr());
+			this->TempShadowList.Dump();
+#endif
 			this->TempShadowList.SetRef(NewDefIter->GetOp(), NewDefIter->GetType(), NewDefIter->GetSSANum());
-			DefUseListIter DefListIter = this->TempShadowList.GetLastRef();
-			--DefListIter;
-			ShadowPoint NewCriticalOp(CurrShadowAddr, DefListIter);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: TempShadowList for %llx after SSAMarker pushback\n", (uint64_t) this->GetFirstFuncAddr());
+			this->TempShadowList.Dump();
+#endif
+			ShadowPoint NewCriticalOp(CurrShadowAddr, this->TempShadowList.GetSize() - 1);
 
 			// If we are tracing, see if chain is maybe-aliased.
 			if (NewDefIter->HasIndirectWrite()) {
@@ -9391,6 +9504,14 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 			if (InsertResult.second) { // not already shadowing that DEF
 				ShadowPointFound = true;
 			}
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+			SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SSAMarker insert: %zu\n", ShadowAddrSet.size());
+			for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+				SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+				PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+				SMP_msg("\n");
+			}
+#endif
 			// We are finished following the chain.
 			break;
 		}
@@ -9399,6 +9520,15 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 			assert(NULL != CurrInst);
 			STARSOpndTypePtr NewUseOp = nullptr;
 			if (!CurrInst->IsSimpleCopy(NewUseOp)) {
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: Starting NotSimpleCopy case.\n");
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				// We could have something like [rsp+32] := [rsp+32] + 8.
 				//  The DEF is the DEF of our CriticalOp, and we cannot trace any farther for this shadowing index.
 				//  But the USE of the same operand could be a vulnerable DEF-USE chain that needs its own
@@ -9425,10 +9555,17 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 				STARSDefUseIter ShadowDefIter = CurrInst->FindDef(UseOp);
 				assert(ShadowDefIter != CurrInst->GetLastDef());
 				STARS_ea_t NextInstAddr = (*NextInstIter)->GetAddr();
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx before NotSimpleCopy pushback at %llx\n",
+					(uint64_t) this->GetFirstFuncAddr(), (uint64_t) CurrShadowAddr);
+				this->TempShadowList.Dump();
+#endif
 				this->TempShadowList.SetRef(ShadowDefIter->GetOp(), ShadowDefIter->GetType(), ShadowDefIter->GetSSANum());
-				DefUseListIter DefListIter = this->TempShadowList.GetLastRef();
-				--DefListIter;
-				pair<ShadowSet::iterator, bool> InsertResult = ShadowAddrSet.insert(ShadowPoint(NextInstAddr, DefListIter));
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx after NotSimpleCopy pushback\n", (uint64_t) this->GetFirstFuncAddr());
+				this->TempShadowList.Dump();
+#endif
+				pair<ShadowSet::iterator, bool> InsertResult = ShadowAddrSet.insert(ShadowPoint(NextInstAddr, this->TempShadowList.GetSize() - 1));
 				if (!InsertResult.second) { // already following that chain
 					break;  // nothing new to trace
 				}
@@ -9437,37 +9574,92 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 				if (ShadowDefIter->HasIndirectWrite()) {
 					MemUnsafe = true;
 				}
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after NotSimpleCopy: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t) DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				// If we are starting a NewCriticalOps chain, we need to start with a USE of the same SSA name as the DEF.
 #if 0  // find memory corruption
 				STARSDefUseIter NewUseIter = CurrInst->FindUse(UseOp);
 				if (NewUseIter != CurrInst->GetLastUse()) {
 					// We have a starting point for a new shadowing operation.
 					this->TempShadowList.SetRef(NewUseIter->GetOp(), NewUseIter->GetType(), NewUseIter->GetSSANum());
-					DefUseListIter UseListIter = this->TempShadowList.GetLastRef();
-					--UseListIter;
-					pair<ShadowSet::iterator, bool> InsertResult = NewCriticalOps.insert(ShadowPoint(CurrShadowAddr, UseListIter));
+					pair<ShadowSet::iterator, bool> InsertResult = NewCriticalOps.insert(ShadowPoint(CurrShadowAddr, this->TempShadowList.GetSize() - 1));
 					// We don't care whether that was a new insertion or not.
 				}
 #endif
 				break; // done with current chain
 			}
 			else { // simple copy instruction
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: Starting SimpleCopy case.\n");
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
+				assert(nullptr != NewUseOp);
 				STARSDefUseIter NewUseIter = CurrInst->FindUse(NewUseOp);
 				assert(NewUseIter != CurrInst->GetLastUse());
 				// We want to replace our current CriticalOp with the NewUseOp at this addr.
 				//  Remove current CriticalOp from ShadowAddrSet (if present) and add NewUseOp in its place.
 				ShadowSet::iterator OldIter = ShadowAddrSet.find(CriticalOp);
 				if (OldIter != ShadowAddrSet.end()) { // found it
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+					SMP_msg("DEBUGINFO: ShadowAddrSet cardinality before SimpleCopy erase: %zu\n", ShadowAddrSet.size());
+					for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+						SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+						PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+						SMP_msg("\n");
+					}
+#endif
 					OldIter = ShadowAddrSet.erase(OldIter);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+					SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SimpleCopy erase: %zu\n", ShadowAddrSet.size());
+					for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+						SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+						PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+						SMP_msg("\n");
+					}
+#endif
 				}
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx before SimpleCopy pushback at %llx\n", 
+					(uint64_t) this->GetFirstFuncAddr(), (uint64_t) CurrShadowAddr);
+				this->TempShadowList.Dump();
+#endif
 				this->TempShadowList.SetRef(NewUseIter->GetOp(), NewUseIter->GetType(), NewUseIter->GetSSANum());
-				DefUseListIter UseListIter = this->TempShadowList.GetLastRef();
-				--UseListIter;
-				ShadowPoint NewCriticalOp(CurrShadowAddr, UseListIter);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: TempShadowList for %llx after SimpleCopy pushback\n", (uint64_t) this->GetFirstFuncAddr());
+				this->TempShadowList.Dump();
+#endif
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SimpleCopy pushback: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
+				ShadowPoint NewCriticalOp(CurrShadowAddr, this->TempShadowList.GetSize() - 1);
 				pair<ShadowSet::iterator, bool> InsertResult = ShadowAddrSet.insert(NewCriticalOp);
 				if (!InsertResult.second) { // already following that chain
 					break;  // nothing new to trace
 				}
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+				SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SimpleCopy insert: %zu\n", ShadowAddrSet.size());
+				for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+					SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t) DebugIter->first);
+					PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+					SMP_msg("\n");
+				}
+#endif
 				ShadowPointFound = true;
 				STARSDefUseIter DefIter = CurrInst->GetFirstDef();
 				assert(DefIter != CurrInst->GetLastDef());
@@ -9481,12 +9673,28 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S
 				}
 				else { // recurse on NewCriticalOp
 					ValidShadowing = this->FindShadowingPoint2(NewCriticalOp, ShadowAddrSet, MemUnsafe, NewCriticalOps);
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+					SMP_msg("DEBUGINFO: ShadowAddrSet cardinality after SimpleCopy recursion: %zu\n", ShadowAddrSet.size());
+					for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+						SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+						PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+						SMP_msg("\n");
+					}
+#endif
 					break; // recursion handled rest of the chain
 				}
 			} // end if not SimpleCopy else ...
 		} // end if blocknum else if SSA marker inst else [regular inst addr]
 	} while (ValidShadowing);
 
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+	SMP_msg("DEBUGINFO: ShadowAddrSet cardinality before FindShadowingPoint2 return: %zu\n", ShadowAddrSet.size());
+	for (ShadowSet::const_iterator DebugIter = ShadowAddrSet.cbegin(); DebugIter != ShadowAddrSet.cend(); ++DebugIter) {
+		SMP_msg("DEBUGINFO: ShadowAddr: %llx", (uint64_t)DebugIter->first);
+		PrintOperand(this->TempShadowList.GetRefNum(DebugIter->second)->GetOp());
+		SMP_msg("\n");
+	}
+#endif
 	// Success if we found any shadow points before chain had to terminate
 	return (ValidShadowing || ShadowPointFound);
 } // end of SMPFunction::FindShadowingPoint2()
@@ -9941,7 +10149,7 @@ void SMPFunction::EmitAnnotations(FILE *AnnotFile, FILE *InfoAnnotFile) {
 	
 #if ZST_SHADOW_FUNCTION_POINTERS
 	// Emit shadowing annotations.
-#if 1
+#if 0
 	this->EmitFuncPtrShadowingAnnotations(InfoAnnotFile);
 #else
 	this->EmitFuncPtrShadowingAnnotations2(InfoAnnotFile);
@@ -11240,7 +11448,7 @@ void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) {
 						this->TempShadowList.SetRef(UseIter->GetOp(), UseIter->GetType(), UseIter->GetSSANum());
 						DefUseListIter UseListIter = this->TempShadowList.GetLastRef();
 						--UseListIter;
-						ShadowPoint CriticalOp(ShadowCheckAddr, UseListIter); // Checking point before indirect call
+						ShadowPoint CriticalOp(ShadowCheckAddr, 0); // Checking point before indirect call
 						list<ShadowPoint> WorkList;
 						WorkList.push_back(CriticalOp);
 
@@ -11256,11 +11464,16 @@ void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) {
 								// Need to shadow ShadowDefs right before their addrs, validate CriticalOp USE at ShadowCheckAddr
 								unsigned int CurrentShadowID = global_STARS_program->GetShadowID();
 								assert(STARS_BADADDR != ShadowCheckAddr);
-
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+								SMP_msg("DEBUGINFO: ShadowUses cardinality is %zu\n", ShadowUses.size());
+#endif
 								for (ShadowSet::const_iterator ShadowIter = ShadowUses.cbegin(); ShadowIter != ShadowUses.cend(); ++ShadowIter) {
 									STARS_ea_t ShadowAddr = ShadowIter->first;
 									assert(STARS_BADADDR != ShadowAddr);
-									STARSOpndTypePtr ShadowOp = ShadowIter->second->GetOp();
+#if STARS_DEBUG_FPTR_SHADOW_LIST
+									SMP_msg("DEBUGINFO: ShadowUses entry ShadowAddr: %llx\n", (uint64_t) ShadowAddr);
+#endif
+									STARSOpndTypePtr ShadowOp = this->TempShadowList.GetRefNum(ShadowIter->second)->GetOp();
 									assert((nullptr != ShadowOp) && (!ShadowOp->IsVoidOp()));
 									SMPInstr *ShadowInst = this->GetInstFromAddr(ShadowAddr);
 									STARSOpndTypePtr UnnormalizedUseOp = CloneIfNecessary(ShadowOp, this->UsesFramePointer());
diff --git a/src/base/SMPProgram.cpp b/src/base/SMPProgram.cpp
index 9cb144d8..b3d09adf 100644
--- a/src/base/SMPProgram.cpp
+++ b/src/base/SMPProgram.cpp
@@ -1183,12 +1183,12 @@ void SMPProgram::PrioritizeCallGraph(void) {
 			if (STARS_BADADDR != CalleeAddr) {
 				map<STARS_ea_t, SMPFunction*>::iterator NextMapIter = this->TempFuncMap.find(CalleeAddr);
 				if (NextMapIter != this->TempFuncMap.end()) {
-					this->FuncList.push_back(*NextMapIter);
-					this->TempFuncMap.erase(NextMapIter);
 #if STARS_DEBUG_CALL_GRAPH_PRIORITY
 					SMP_msg("INFO: PrioritizeCallGraph selecting unprocessed callee at %llx for func at %llx\n",
 						(uint64_t) CalleeAddr, (uint64_t) BestMapIter->first);
 #endif
+					this->FuncList.push_back(*NextMapIter);
+					this->TempFuncMap.erase(NextMapIter);
 				}
 				else {
 					// Work on the BestMapIter function itself.
diff --git a/src/interfaces/idapro/STARSFunction.cpp b/src/interfaces/idapro/STARSFunction.cpp
index 34d73e4f..027c2f33 100644
--- a/src/interfaces/idapro/STARSFunction.cpp
+++ b/src/interfaces/idapro/STARSFunction.cpp
@@ -20,6 +20,8 @@
 
 using namespace std;
 
+#define STARS_DEBUG_MEMORY_CORRUPTION 0
+
 // leave this on; serious errors reported
 #define SMP_DEBUG_BUILD_RTL 1   
 
diff --git a/tests/commit/save-busybox.psexe.infoannot b/tests/commit/save-busybox.psexe.infoannot
index 284a99cf..0ae8aad1 100644
--- a/tests/commit/save-busybox.psexe.infoannot
+++ b/tests/commit/save-busybox.psexe.infoannot
@@ -1866,8 +1866,6 @@
             4203f3    669 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 96 ARG4 1 ARG5 1 
             4203f3    669 FUNC PROBLEM sub_4203F3 CALLUNRESOLVED 
             42053e      3 INSTR CHECK UNDERFLOW UNSIGNED 64  RSI ZZ IDIOM 19 sub     rsi, rbp 
-            4203f3      2 INSTR FPTRSHADOW  RDX SHADOWID 1
-            420653      3 INSTR FPTRCHECK  R15 SHADOWID 1
             420690     16 FUNC RETURNTYPE RAX 0
             420690     16 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4206a0     16 FUNC RETURNTYPE RAX 0
@@ -1913,8 +1911,8 @@
             420b50   2545 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             420b50   2545 FUNC PROBLEM sub_420B50 CALLUNRESOLVED 
             420eb7      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, 8 
-            420bd0      5 INSTR FPTRSHADOW  RAX SHADOWID 2
-            42137e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 2
+            420bd0      5 INSTR FPTRSHADOW  RAX SHADOWID 1
+            42137e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 1
             421541     94 FUNC RETURNTYPE RAX 4
             421541     94 FUNC INARGS    6  ARG0 16 ARG1 16 ARG2 16 ARG3 1 ARG4 1 ARG5 1 
             42159f    333 FUNC RETURNTYPE RAX 4
@@ -2222,8 +2220,8 @@
             427834      6 INSTR CHECK OVERFLOW SIGNED 32 EDX ZZ imul    edx, ebx, 3E8h  ; timeout 
             42793d    272 FUNC RETURNTYPE RAX 0
             42793d    272 FUNC INARGS    6  ARG0 2 ARG1 1 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
-            42793d      2 INSTR FPTRSHADOW  RDI SHADOWID 3
-            4279d2      3 INSTR FPTRCHECK  R12 SHADOWID 3
+            42793d      2 INSTR FPTRSHADOW  RDI SHADOWID 2
+            4279d2      3 INSTR FPTRCHECK  R12 SHADOWID 2
             427a4d     60 FUNC RETURNTYPE RAX 0
             427a4d     60 FUNC INARGS    6  ARG0 1 ARG1 0 ARG2 0 ARG3 1 ARG4 0 ARG5 0 
             427a89    260 FUNC RETURNTYPE RAX 1
@@ -2496,17 +2494,17 @@
             42ed9e    355 FUNC RETURNTYPE RAX 96
             42ed9e    355 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 2 ARG3 1 ARG4 1 ARG5 0 
             42ed9e    355 FUNC PROBLEM sub_42ED9E CALLUNRESOLVED 
-            42ed9e      2 INSTR FPTRSHADOW  RDX SHADOWID 4
-            42eebc      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 4
+            42ed9e      2 INSTR FPTRSHADOW  RDX SHADOWID 3
+            42eebc      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 3
             42ef01    503 FUNC RETURNTYPE RAX 0
             42ef01    503 FUNC INARGS    6  ARG0 96 ARG1 2 ARG2 2 ARG3 1 ARG4 2 ARG5 1 
             42ef01    503 FUNC PROBLEM sub_42EF01 CALLUNRESOLVED 
             42ef9f      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rbp+38h]  ; src 
             42efbb      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+184 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rbp+0B8h] ; src 
-            42ef01      2 INSTR FPTRSHADOW  RDX SHADOWID 5
-            42f0b3      5 INSTR FPTRCHECK  RDX SHADOWID 5
-            42ef01      2 INSTR FPTRSHADOW  R8 SHADOWID 6
-            42f08e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 6
+            42ef01      2 INSTR FPTRSHADOW  RDX SHADOWID 4
+            42f0b3      5 INSTR FPTRCHECK  RDX SHADOWID 4
+            42ef01      2 INSTR FPTRSHADOW  R8 SHADOWID 5
+            42f08e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 5
             42f0f8    175 FUNC RETURNTYPE RAX 0
             42f0f8    175 FUNC PROBLEM sub_42F0F8 STACKANALYSIS 
             42f1a7     64 FUNC RETURNTYPE RAX 0
@@ -4403,14 +4401,14 @@
             4572fb   1167 FUNC PROBLEM sub_4572FB CALLUNRESOLVED 
             4574fd      6 INSTR CHECK OVERFLOW UNKNOWNSIGN 32  RSI ZZ add     esi, 101h 
             45751e      2 INSTR CHECK UNDERFLOW SIGNED 32  RDX ZZ sub     edx, eax        ; timeout 
+            4572fb      2 INSTR FPTRSHADOW  RDI SHADOWID 6
+            45761b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 6
             4572fb      2 INSTR FPTRSHADOW  RDI SHADOWID 7
-            45761b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 7
+            4576fe      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 7
             4572fb      2 INSTR FPTRSHADOW  RDI SHADOWID 8
-            4576fe      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 8
+            4576b8      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 8
             4572fb      2 INSTR FPTRSHADOW  RDI SHADOWID 9
-            4576b8      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 9
-            4572fb      2 INSTR FPTRSHADOW  RDI SHADOWID 10
-            4576c3      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 10
+            4576c3      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 9
             45778a    570 FUNC RETURNTYPE RAX 1
             45778a    570 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             457864      7 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ IDIOM 18 GLOBALMEMSINK add     rsi, 6C9478h    ; bufp 
@@ -5185,10 +5183,10 @@
             468604    581 FUNC INARGS    6  ARG0 4 ARG1 2 ARG2 2 ARG3 96 ARG4 0 ARG5 0 
             468604    581 FUNC PROBLEM sub_468604 CALLUNRESOLVED 
             4687de      4 INSTR CHECK OVERFLOW UNSIGNED 64  R13 ZZ IDIOM 18 MEMORYSINK add     r13, 8 
-            468604      2 INSTR FPTRSHADOW  RDX SHADOWID 11
-            4686ae      3 INSTR FPTRCHECK  [RSP] SHADOWID 11
-            468604      2 INSTR FPTRSHADOW  RSI SHADOWID 12
-            46873b      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 12
+            468604      2 INSTR FPTRSHADOW  RDX SHADOWID 10
+            4686ae      3 INSTR FPTRCHECK  [RSP] SHADOWID 10
+            468604      2 INSTR FPTRSHADOW  RSI SHADOWID 11
+            46873b      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 11
             468849     88 FUNC RETURNTYPE RAX 0
             468849     88 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4688a1     88 FUNC RETURNTYPE RAX 0
@@ -5734,6 +5732,8 @@
             481108      2 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov     edi, eax 
             481185      2 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov     edi, eax 
             4811f4      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+1 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbx+1]    ; s2 
+            480f24      9 INSTR FPTRSHADOW  4721960 SHADOWID 12
+            4811dc      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 12
             477063    229 FUNC RETURNTYPE RAX 0
             477063    229 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4770df      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+2 ZZ IDIOM 18 STACKMEMSINK lea     rdx, [rbx+2] 
@@ -7000,7 +7000,7 @@
             4947a5      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R15+1 ZZ lea     edi, [r15+1] 
             4947e3      6 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+-384 ZZ IDIOM 18 MEMORYSINK lea     edx, [rax-180h] 
             494826      6 INSTR CHECK OVERFLOW SIGNED 32  RDI ZZ add     edi, 0FFh 
-            49470f      5 INSTR FPTRSHADOW  RAX SHADOWID 14
+            494707      6 INSTR FPTRSHADOW  RAX SHADOWID 14
             494881      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 14
             4949eb    120 FUNC RETURNTYPE RAX 4
             4949eb    120 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
@@ -7582,6 +7582,26 @@
             49eeb2      3 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 32 RCX+-10 ZZ lea     edx, [rcx-0Ah] 
             49ef11      3 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 32 RCX+42 ZZ lea     edx, [rcx+2Ah] 
             49ef83      5 INSTR MEMSET STACKOFFSET_ESP 96 SIZE 544 ZZ call    _memset 
+            49ebc0      9 INSTR FPTRSHADOW  4822364 SHADOWID 15
+            49ec5e      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 15
+            49ebb7      9 INSTR FPTRSHADOW  4821426 SHADOWID 16
+            49ec2c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 16
+            49ebb7      9 INSTR FPTRSHADOW  4821426 SHADOWID 17
+            49ec04      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 17
+            49ebb7      9 INSTR FPTRSHADOW  4821426 SHADOWID 18
+            49ece6      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 18
+            49ebc0      9 INSTR FPTRSHADOW  4822364 SHADOWID 19
+            49ecd9      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 19
+            49ebc0      9 INSTR FPTRSHADOW  4822364 SHADOWID 20
+            49ed12      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 20
+            49ebb7      9 INSTR FPTRSHADOW  4821426 SHADOWID 21
+            49ed54      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 21
+            49ebc0      9 INSTR FPTRSHADOW  4822364 SHADOWID 22
+            49ed8e      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 22
+            49ebb7      9 INSTR FPTRSHADOW  4821426 SHADOWID 23
+            49edde      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 23
+            49ebc0      9 INSTR FPTRSHADOW  4822364 SHADOWID 24
+            49ee86      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 24
             49efc8   1179 FUNC RETURNTYPE RAX 4
             49efc8   1179 FUNC INARGS    4  ARG0 4 ARG1 4 ARG2 4 ARG3 4 
             49effa      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RSI+8 ZZ IDIOM 18 STACKMEMSINK lea     rax, [rsi+8] 
diff --git a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
index b4e0146e..14036cbc 100644
--- a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
+++ b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
@@ -1 +1 @@
-d649d83c0e7aad6512d964f66e1f84bf1aa12ec7
\ No newline at end of file
+af8dac4676b89e0d0e8711766b3015aa9d0f39b9
\ No newline at end of file
diff --git a/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id b/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id
index ed49a650..2d3f9b95 100644
--- a/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id
+++ b/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id
@@ -1 +1 @@
-19633d3dd00a963df7f2b6cfc39ea5a286e2aad5
\ No newline at end of file
+5a9208da92707e8a80bb16b2dcbf868d24ef3025
\ No newline at end of file
diff --git a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
index 7b0b15ab..8ea71621 100644
--- a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
+++ b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
@@ -1787,8 +1787,6 @@
             422c50    118 FUNC RETURNTYPE RAX 4
             422c50    118 FUNC INARGS    6  ARG0 4 ARG1 16 ARG2 4 ARG3 1 ARG4 1 ARG5 0 
             422c50    118 FUNC PROBLEM sub_422C50 CALLUNRESOLVED 
-            422c5d      4 INSTR FPTRSHADOW  [RDI+16] SHADOWID 1
-            422c72      2 INSTR FPTRCHECK  RAX SHADOWID 1
             422cd0     59 FUNC RETURNTYPE RAX 0
             422cd0     59 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             422d10    299 FUNC RETURNTYPE RAX 4
@@ -4387,8 +4385,8 @@
             496884      3 INSTR CHECK UNDERFLOW UNSIGNED 64  R8 ZZ IDIOM 18 MEMORYSINK sub     r8, rcx 
             496988      3 INSTR CHECK UNDERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK sub     rsi, r12 
             496a0f      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+1 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rax+1] 
-            496670      2 INSTR FPTRSHADOW  RDX SHADOWID 2
-            496890      4 INSTR FPTRCHECK  [RSP+80] SHADOWID 2
+            496670      2 INSTR FPTRSHADOW  RDX SHADOWID 1
+            496890      4 INSTR FPTRCHECK  [RSP+80] SHADOWID 1
             496e70    232 FUNC RETURNTYPE RAX 1
             496e70    232 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             496f60    239 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/save-nginx.psexe.infoannot b/tests/commit/save-nginx.psexe.infoannot
index 7773c7ae..3c37aa1a 100644
--- a/tests/commit/save-nginx.psexe.infoannot
+++ b/tests/commit/save-nginx.psexe.infoannot
@@ -2426,12 +2426,6 @@
             43bf6b    878 FUNC INARGS    6  ARG0 4 ARG1 2 ARG2 1 ARG3 4 ARG4 1 ARG5 4 
             43bf6b    878 FUNC PROBLEM ngx_http_read_client_request_body CALLUNRESOLVED 
             43c16a      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+32 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rb+20h]   ; free 
-            43bf6b      5 INSTR FPTRSHADOW  RSI SHADOWID 1
-            43bfc1      2 INSTR FPTRCHECK  RBP SHADOWID 1
-            43bf6b      5 INSTR FPTRSHADOW  RSI SHADOWID 2
-            43c026      2 INSTR FPTRCHECK  RBP SHADOWID 2
-            43bf6b      5 INSTR FPTRSHADOW  RSI SHADOWID 3
-            43c1ec      2 INSTR FPTRCHECK  RBP SHADOWID 3
             43c2d9     63 FUNC RETURNTYPE RAX 96
             43c2d9     63 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 4 ARG4 0 ARG5 4 
             43c318    285 FUNC RETURNTYPE RAX 1
@@ -4228,8 +4222,6 @@
             468e40      8 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX*8 ZZ lea     rsi, ds:0[rdx*8]; size 
             468fc9      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+4 ZZ lea     rsi, [len+4]    ; size 
             4692cd      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, 2          ; dest 
-            4690a8      3 INSTR FPTRSHADOW  RAX SHADOWID 4
-            469155      2 INSTR FPTRCHECK  [RAX] SHADOWID 4
             469453   3920 FUNC RETURNTYPE RAX 1
             469453   3920 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
             46980a      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea     rsi, [conf+0C0h]; path 
@@ -5157,8 +5149,6 @@
             47d552      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbx+0C0h] 
             47d600      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+272 ZZ IDIOM 18 MEMORYSINK lea     rdx, [r13+110h] 
             47d607      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+264 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+108h] 
-            47d536      5 INSTR FPTRSHADOW  [R12+88] SHADOWID 5
-            47d550      2 INSTR FPTRCHECK  RAX SHADOWID 5
             47d620      8 FUNC RETURNTYPE RAX 0
             47d620      8 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 4 ARG3 4 ARG4 1 ARG5 1 
             47d630     78 FUNC RETURNTYPE RAX 4
@@ -5442,8 +5432,6 @@
             485630    284 FUNC RETURNTYPE RAX 1
             485630    284 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 
             485630    284 FUNC PROBLEM SSL_srp_server_param_with_username CALLUNRESOLVED 
-            485659      7 INSTR FPTRSHADOW  [RDI+688] SHADOWID 6
-            485672      2 INSTR FPTRCHECK  RAX SHADOWID 6
             485750    231 FUNC RETURNTYPE RAX 1
             485750    231 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 4 
             4857eb      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+776 ZZ IDIOM 18 MEMORYSINK lea     rcx, [r12+308h] 
@@ -5602,10 +5590,6 @@
             489474      5 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+RDX+20 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+rdx+14h] 
             4894e3      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+8 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+8]    ; src 
             4894e7      2 INSTR CHECK SIGNEDNESS UNSIGNED 32 ECX ZZ mov     edx, ecx        ; n 
-            489065      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 7
-            48908f      2 INSTR FPTRCHECK  RAX SHADOWID 7
-            48827c      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 8
-            4882a9      3 INSTR FPTRCHECK  R10 SHADOWID 8
             489900      6 FUNC RETURNTYPE RAX 1
             489900      6 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             489910      6 FUNC RETURNTYPE RAX 1
@@ -6058,10 +6042,6 @@
             49b735      7 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [rbp+130h] ; src 
             49b73c      3 INSTR CHECK SIGNEDNESS UNSIGNED 64 R12 ZZ mov     edx, r12d       ; n 
             49b911      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea     edx, [r12+3E8h] 
-            49aac8      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 9
-            49ab11      2 INSTR FPTRCHECK  RAX SHADOWID 9
-            49b4b1      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 10
-            49b4e4      2 INSTR FPTRCHECK  RAX SHADOWID 10
             49bae0    287 FUNC RETURNTYPE RAX 96
             49bae0    287 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 4 
             49bae0    287 FUNC PROBLEM ssl3_dispatch_alert CALLUNRESOLVED 
@@ -6110,8 +6090,6 @@
             49c650   1038 FUNC PROBLEM ssl3_get_message CALLUNRESOLVED 
             49c771      3 INSTR CHECK OVERFLOW SIGNED 32  RDX ZZ add     edx, 4 
             49c96b      3 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+4 ZZ lea     esi, [rcx+4] 
-            49c830      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 11
-            49c7ec      2 INSTR FPTRCHECK  RAX SHADOWID 11
             49ca60    157 FUNC RETURNTYPE RAX 1
             49ca60    157 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 
             49cb00     24 FUNC RETURNTYPE RAX 1
@@ -6172,6 +6150,22 @@
             49ddf2      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
             49de5f      5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+-13 ZZ lea     edx, [r12-0Dh] 
             49dedf      3 INSTR CHECK OVERFLOW UNKNOWNSIGN 32  RBP ZZ add     ebp, 1 
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 1
+            49de0f      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 1
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 2
+            49d94a      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 2
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 3
+            49d8f7      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 3
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 4
+            49dea3      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 4
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 5
+            49d98c      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 5
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 6
+            49deea      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 6
+            49d7b5      9 INSTR FPTRSHADOW  4837184 SHADOWID 7
+            49db11      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 7
+            49d7ac      9 INSTR FPTRSHADOW  4897200 SHADOWID 8
+            49db00      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 8
             49e0f0    247 FUNC RETURNTYPE RAX 4
             49e0f0    247 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 0 ARG3 1 ARG4 1 ARG5 4 
             49e1f0    281 FUNC RETURNTYPE RAX 1
@@ -6318,10 +6312,6 @@
             4a2a2b      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+632 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rcx+278h] 
             4a3236      7 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [r13+130h] ; src 
             4a32b9      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea     edx, [r12+3E8h] 
-            4a2add      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 12
-            4a2b27      2 INSTR FPTRCHECK  RAX SHADOWID 12
-            4a3003      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 13
-            4a3035      2 INSTR FPTRCHECK  RAX SHADOWID 13
             4a3500    238 FUNC RETURNTYPE RAX 1
             4a3500    238 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4a3500    238 FUNC PROBLEM dtls1_write_app_data_bytes CALLUNRESOLVED 
@@ -7362,8 +7352,6 @@
             4bbf20     79 FUNC RETURNTYPE RAX 1
             4bbf20     79 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4bbf20     79 FUNC PROBLEM RSA_set_method CALLUNRESOLVED 
-            4bbf51      4 INSTR FPTRSHADOW  [RBP+56] SHADOWID 14
-            4bbf61      2 INSTR FPTRCHECK  RAX SHADOWID 14
             4bbf70    587 FUNC RETURNTYPE RAX 4
             4bbf70    587 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 
             4bbf70    587 FUNC PROBLEM RSA_new_method CALLUNRESOLVED 
@@ -7539,8 +7527,6 @@
             4be450     91 FUNC RETURNTYPE RAX 1
             4be450     91 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4be450     91 FUNC PROBLEM DH_set_method CALLUNRESOLVED 
-            4be48a      4 INSTR FPTRSHADOW  [RBP+32] SHADOWID 15
-            4be49d      2 INSTR FPTRCHECK  RAX SHADOWID 15
             4be4b0    440 FUNC RETURNTYPE RAX 4
             4be4b0    440 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4be4b0    440 FUNC PROBLEM DH_new CALLUNRESOLVED 
@@ -9212,8 +9198,6 @@
             4d5f00    719 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 1 ARG4 4 ARG5 1 
             4d5f00    719 FUNC PROBLEM int_ctx_new CALLUNRESOLVED 
             4d5fac      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+8 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbp+8] 
-            4d5fca      4 INSTR FPTRSHADOW  [R13+8] SHADOWID 16
-            4d5fde      2 INSTR FPTRCHECK  RAX SHADOWID 16
             4d61d0    132 FUNC RETURNTYPE RAX 1
             4d61d0    132 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d6260    497 FUNC RETURNTYPE RAX 4
@@ -9290,43 +9274,31 @@
             4d6c60    110 FUNC RETURNTYPE RAX 1
             4d6c60    110 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 1 
             4d6c60    110 FUNC PROBLEM EVP_PKEY_sign_init CALLUNRESOLVED 
-            4d6c78      4 INSTR FPTRSHADOW  [RAX+64] SHADOWID 17
-            4d6c8d      2 INSTR FPTRCHECK  RDX SHADOWID 17
             4d6cd0    294 FUNC RETURNTYPE RAX 0
             4d6cd0    294 FUNC PROBLEM EVP_PKEY_sign JUMPUNRESOLVED 
             4d6e00    110 FUNC RETURNTYPE RAX 1
             4d6e00    110 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 1 
             4d6e00    110 FUNC PROBLEM EVP_PKEY_verify_init CALLUNRESOLVED 
-            4d6e18      4 INSTR FPTRSHADOW  [RAX+80] SHADOWID 18
-            4d6e2d      2 INSTR FPTRCHECK  RDX SHADOWID 18
             4d6e70    134 FUNC RETURNTYPE RAX 0
             4d6e70    134 FUNC PROBLEM EVP_PKEY_verify JUMPUNRESOLVED 
             4d6f00    110 FUNC RETURNTYPE RAX 1
             4d6f00    110 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d6f00    110 FUNC PROBLEM EVP_PKEY_verify_recover_init CALLUNRESOLVED 
-            4d6f18      4 INSTR FPTRSHADOW  [RAX+96] SHADOWID 19
-            4d6f2d      2 INSTR FPTRCHECK  RDX SHADOWID 19
             4d6f70    294 FUNC RETURNTYPE RAX 0
             4d6f70    294 FUNC PROBLEM EVP_PKEY_verify_recover JUMPUNRESOLVED 
             4d70a0    126 FUNC RETURNTYPE RAX 1
             4d70a0    126 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 4 ARG5 1 
             4d70a0    126 FUNC PROBLEM EVP_PKEY_encrypt_init CALLUNRESOLVED 
-            4d70bb      7 INSTR FPTRSHADOW  [RAX+144] SHADOWID 20
-            4d70d3      2 INSTR FPTRCHECK  RDX SHADOWID 20
             4d7120    294 FUNC RETURNTYPE RAX 0
             4d7120    294 FUNC PROBLEM EVP_PKEY_encrypt JUMPUNRESOLVED 
             4d7250    126 FUNC RETURNTYPE RAX 1
             4d7250    126 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 4 ARG5 1 
             4d7250    126 FUNC PROBLEM EVP_PKEY_decrypt_init CALLUNRESOLVED 
-            4d726b      7 INSTR FPTRSHADOW  [RAX+160] SHADOWID 21
-            4d7283      2 INSTR FPTRCHECK  RDX SHADOWID 21
             4d72d0    294 FUNC RETURNTYPE RAX 0
             4d72d0    294 FUNC PROBLEM EVP_PKEY_decrypt JUMPUNRESOLVED 
             4d7400    126 FUNC RETURNTYPE RAX 1
             4d7400    126 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d7400    126 FUNC PROBLEM EVP_PKEY_derive_init CALLUNRESOLVED 
-            4d741b      7 INSTR FPTRSHADOW  [RAX+176] SHADOWID 22
-            4d7433      2 INSTR FPTRCHECK  RDX SHADOWID 22
             4d7480    562 FUNC RETURNTYPE RAX 1
             4d7480    562 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 96 ARG5 96 
             4d7480    562 FUNC PROBLEM EVP_PKEY_derive_set_peer CALLUNRESOLVED 
@@ -9338,16 +9310,12 @@
             4d7800    110 FUNC RETURNTYPE RAX 1
             4d7800    110 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d7800    110 FUNC PROBLEM EVP_PKEY_paramgen_init CALLUNRESOLVED 
-            4d7818      4 INSTR FPTRSHADOW  [RAX+32] SHADOWID 23
-            4d782d      2 INSTR FPTRCHECK  RDX SHADOWID 23
             4d7870    259 FUNC RETURNTYPE RAX 1
             4d7870    259 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d7870    259 FUNC PROBLEM EVP_PKEY_paramgen CALLUNRESOLVED 
             4d7980    110 FUNC RETURNTYPE RAX 1
             4d7980    110 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d7980    110 FUNC PROBLEM EVP_PKEY_keygen_init CALLUNRESOLVED 
-            4d7998      4 INSTR FPTRSHADOW  [RAX+48] SHADOWID 24
-            4d79ad      2 INSTR FPTRCHECK  RDX SHADOWID 24
             4d79f0    259 FUNC RETURNTYPE RAX 1
             4d79f0    259 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4d79f0    259 FUNC PROBLEM EVP_PKEY_keygen CALLUNRESOLVED 
@@ -9362,8 +9330,6 @@
             4d7b70    225 FUNC RETURNTYPE RAX 1
             4d7b70    225 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 4 ARG3 0 ARG4 96 ARG5 96 
             4d7b70    225 FUNC PROBLEM EVP_PKEY_new_mac_key CALLUNRESOLVED 
-            4d7bb3      4 INSTR FPTRSHADOW  [RAX+48] SHADOWID 25
-            4d7bc6      2 INSTR FPTRCHECK  RAX SHADOWID 25
             4d7c60    454 FUNC RETURNTYPE RAX 1
             4d7c60    454 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 1 ARG4 96 ARG5 1 
             4d7c60    454 FUNC PROBLEM do_sigver_init CALLUNRESOLVED 
@@ -9771,6 +9737,12 @@
             4e0313      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R13+-1 ZZ lea     edx, [r13-1] 
             4e0550      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+-1 ZZ lea     edx, [r13-1] 
             4e0aca      3 INSTR CHECK UNDERFLOW UNSIGNED 64  RDX ZZ IDIOM 19 sub     rdx, rsi 
+            4e0197      9 INSTR FPTRSHADOW  0 SHADOWID 9
+            4e02ca      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 9
+            4e0197      9 INSTR FPTRSHADOW  0 SHADOWID 10
+            4e04a8      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 10
+            4e0197      9 INSTR FPTRSHADOW  0 SHADOWID 11
+            4e03a8      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 11
             4e0ba0    836 FUNC RETURNTYPE RAX 1
             4e0ba0    836 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 8 
             4e0d67      3 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov     r8d, eax 
@@ -10472,10 +10444,10 @@
             4eaa7c      5 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R12+-1 ZZ lea     esi, [r12-1] 
             4eadee      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 1Ch 
             4eae93      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 1Ch 
-            4ea93d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 26
-            4eb173      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 26
-            4ea93d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 27
-            4eab38      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 27
+            4ea93d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 12
+            4eb173      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 12
+            4ea93d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 13
+            4eab38      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 13
             4eb310      7 FUNC RETURNTYPE RAX 0
             4eb310      7 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4eb320      7 FUNC RETURNTYPE RAX 1
@@ -11868,8 +11840,6 @@
             5014e0    270 FUNC RETURNTYPE RAX 96
             5014e0    270 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             5014e0    270 FUNC PROBLEM COMP_CTX_new CALLUNRESOLVED 
-            501542      4 INSTR FPTRSHADOW  [RBX+16] SHADOWID 28
-            501552      2 INSTR FPTRCHECK  RAX SHADOWID 28
             5015f0     34 FUNC RETURNTYPE RAX 96
             5015f0     34 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 4 ARG3 1 ARG4 4 ARG5 96 
             5015f0     34 FUNC PROBLEM COMP_CTX_free CALLUNRESOLVED 
@@ -12536,10 +12506,10 @@
             5209e0    407 FUNC PROBLEM CRYPTO_cbc128_encrypt CALLUNRESOLVED 
             520b15      4 INSTR CHECK OVERFLOW UNSIGNED 64  RCX ZZ add     rcx, 1 
             520b38      4 INSTR CHECK OVERFLOW UNSIGNED 64  RAX ZZ add     rax, 1 
-            5209e0      2 INSTR FPTRSHADOW  R9 SHADOWID 29
-            520a4e      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 29
-            5209e0      2 INSTR FPTRSHADOW  R9 SHADOWID 30
-            520b4b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 30
+            5209e0      2 INSTR FPTRSHADOW  R9 SHADOWID 14
+            520a4e      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 14
+            5209e0      2 INSTR FPTRSHADOW  R9 SHADOWID 15
+            520b4b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 15
             520b80    653 FUNC RETURNTYPE RAX 1
             520b80    653 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 4 ARG5 2 
             520b80    653 FUNC PROBLEM CRYPTO_cbc128_decrypt CALLUNRESOLVED 
@@ -12547,12 +12517,12 @@
             520d15      4 INSTR CHECK OVERFLOW UNSIGNED 64  R8 ZZ add     r8, 1 
             520d3a      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ add     rdx, 1 
             520daf      4 INSTR CHECK UNDERFLOW UNSIGNED 64  RAX ZZ IDIOM 31 sub     rax, 10h 
-            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 31
-            520d94      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 31
-            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 32
-            520bf8      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 32
-            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 33
-            520c7b      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 33
+            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 16
+            520d94      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 16
+            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 17
+            520bf8      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 17
+            520b80      2 INSTR FPTRSHADOW  R9 SHADOWID 18
+            520c7b      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 18
             520e10    916 FUNC RETURNTYPE RAX 4
             520e10    916 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 4 ARG4 4 ARG5 4 
             520e10    916 FUNC PROBLEM CRYPTO_ctr128_encrypt CALLUNRESOLVED 
@@ -12593,12 +12563,6 @@
             5221f0    496 FUNC PROBLEM CRYPTO_gcm128_setiv CALLUNRESOLVED 
             522285      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 10h 
             522358      4 INSTR CHECK OVERFLOW UNSIGNED 64  RAX ZZ add     rax, 1 
-            522208      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 34
-            52231c      3 INSTR FPTRCHECK  R14 SHADOWID 34
-            522208      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 35
-            522367      3 INSTR FPTRCHECK  R14 SHADOWID 35
-            522208      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 36
-            522380      3 INSTR FPTRCHECK  R14 SHADOWID 36
             5223e0    411 FUNC RETURNTYPE RAX 1
             5223e0    411 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 96 ARG5 96 
             5223e0    411 FUNC PROBLEM CRYPTO_gcm128_aad CALLUNRESOLVED 
@@ -12611,48 +12575,48 @@
             52282a      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R9 ZZ IDIOM 31 sub     r9, 10h 
             52299a      4 INSTR CHECK OVERFLOW UNSIGNED 64  RCX ZZ add     rcx, 1 
             5229ec      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
-            522597      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 37
-            522773      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 37
-            522597      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 38
-            522898      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 38
+            522597      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 19
+            522773      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 19
+            522597      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 20
+            522898      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 20
             522a30   1193 FUNC RETURNTYPE RAX 1
             522a30   1193 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             522a30   1193 FUNC PROBLEM CRYPTO_gcm128_decrypt CALLUNRESOLVED 
             522d2d      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R9 ZZ IDIOM 31 sub     r9, 10h 
             522e5a      4 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ add     rsi, 1 
             522e9c      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
-            522a47      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 39
-            522ba9      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 39
-            522a47      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 40
-            522ccd      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 40
+            522a47      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 21
+            522ba9      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 21
+            522a47      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 22
+            522ccd      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 22
             522ee0    876 FUNC RETURNTYPE RAX 1
             522ee0    876 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             522ee0    876 FUNC PROBLEM CRYPTO_gcm128_encrypt_ctr32 CALLUNRESOLVED 
             522ff7      7 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 0C00h 
             523166      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ add     rdx, 1 
             5231aa      3 INSTR CHECK OVERFLOW UNSIGNED 32  RCX ZZ add     ecx, 1 
-            522f12      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 41
-            52303b      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 41
-            522ee0      2 INSTR FPTRSHADOW  R8 SHADOWID 42
-            523018      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 42
-            522f12      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 43
-            523220      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 43
-            522ee0      2 INSTR FPTRSHADOW  R8 SHADOWID 44
-            5231f8      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 44
+            522f12      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 23
+            52303b      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 23
+            522ee0      2 INSTR FPTRSHADOW  R8 SHADOWID 24
+            523018      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 24
+            522f12      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 25
+            523220      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 25
+            522ee0      2 INSTR FPTRSHADOW  R8 SHADOWID 26
+            5231f8      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 26
             523250    868 FUNC RETURNTYPE RAX 1
             523250    868 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             523250    868 FUNC PROBLEM CRYPTO_gcm128_decrypt_ctr32 CALLUNRESOLVED 
             523367      7 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 0C00h 
             5234d6      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ add     rdx, 1 
             52351a      3 INSTR CHECK OVERFLOW UNSIGNED 32  RDX ZZ add     edx, 1 
-            523250      2 INSTR FPTRSHADOW  R8 SHADOWID 45
-            52339c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 45
-            523271      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 46
-            52337e      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 46
-            523250      2 INSTR FPTRSHADOW  R8 SHADOWID 47
-            523577      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 47
-            523271      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 48
-            52355d      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 48
+            523250      2 INSTR FPTRSHADOW  R8 SHADOWID 27
+            52339c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 27
+            523271      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 28
+            52337e      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 28
+            523250      2 INSTR FPTRSHADOW  R8 SHADOWID 29
+            523577      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 29
+            523271      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 30
+            52355d      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 30
             5235c0    264 FUNC RETURNTYPE RAX 1
             5235c0    264 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 4 ARG5 0 
             5235c0    264 FUNC PROBLEM CRYPTO_gcm128_finish CALLUNRESOLVED 
@@ -12679,16 +12643,16 @@
             523c7f      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
             523ccf      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX+1 ZZ lea     rax, [rdx+1] 
             523ce3      4 INSTR CHECK OVERFLOW UNSIGNED 64  R12 ZZ add     r12d, 1 
-            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 49
-            523b9e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 49
-            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 50
-            523b8d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 50
-            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 51
-            523ca5      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 51
-            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 52
-            523c94      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 52
-            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 53
-            523cfe      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 53
+            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 31
+            523b9e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 31
+            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 32
+            523b8d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 32
+            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 33
+            523ca5      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 33
+            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 34
+            523c94      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 34
+            523abc      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 35
+            523cfe      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 35
             523d60    677 FUNC RETURNTYPE RAX 1
             523d60    677 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             523d60    677 FUNC PROBLEM CRYPTO_ccm128_decrypt CALLUNRESOLVED 
@@ -12696,16 +12660,16 @@
             523ea8      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R15 ZZ IDIOM 31 sub     r15, 10h 
             523f23      4 INSTR CHECK OVERFLOW UNSIGNED 64  R12 ZZ add     r12d, 1 
             523fde      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
-            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 54
-            523e35      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 54
-            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 55
-            523ee7      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 55
-            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 56
-            523fa9      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 56
-            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 57
-            523f3e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 57
-            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 58
-            523ff7      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 58
+            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 36
+            523e35      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 36
+            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 37
+            523ee7      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 37
+            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 38
+            523fa9      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 38
+            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 39
+            523f3e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 39
+            523da1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 40
+            523ff7      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 40
             524010    864 FUNC RETURNTYPE RAX 1
             524010    864 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             524010    864 FUNC PROBLEM CRYPTO_ccm128_encrypt_ccm64 CALLUNRESOLVED 
@@ -12713,20 +12677,20 @@
             524117      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
             524174      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX+1 ZZ lea     rax, [rdx+1] 
             524182      3 INSTR CHECK OVERFLOW UNSIGNED 32  RBP ZZ add     ebp, 1 
-            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 59
-            524144      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 59
-            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 60
-            52412b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 60
-            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 61
-            524199      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 61
+            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 41
+            524144      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 41
+            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 42
+            52412b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 42
+            524045      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 43
+            524199      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 43
             524370    861 FUNC RETURNTYPE RAX 1
             524370    861 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             524370    861 FUNC PROBLEM CRYPTO_ccm128_decrypt_ccm64 CALLUNRESOLVED 
             5243d2      3 INSTR CHECK OVERFLOW UNSIGNED 32  RDX ZZ add     edx, 1 
             524422      3 INSTR CHECK OVERFLOW UNSIGNED 32  RBP ZZ add     ebp, 1 
             52467b      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
-            524370      2 INSTR FPTRSHADOW  R8 SHADOWID 62
-            5244ca      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 62
+            524370      2 INSTR FPTRSHADOW  R8 SHADOWID 44
+            5244ca      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 44
             5246d0     52 FUNC RETURNTYPE RAX 1
             5246d0     52 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 1 
             5246f0      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RDI+16 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rdi+10h]  ; src 
@@ -12968,8 +12932,8 @@
             52ee50     60 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 16 ARG3 1 ARG4 0 ARG5 0 
             52ee90    236 FUNC RETURNTYPE RAX 0
             52ee90    236 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 
-            52eeb6      4 INSTR FPTRSHADOW  EAX SHADOWID 63
-            52ef36      4 INSTR FPTRCHECK  ECX SHADOWID 63
+            52eeb6      4 INSTR FPTRSHADOW  EAX SHADOWID 45
+            52ef36      4 INSTR FPTRCHECK  ECX SHADOWID 45
             52ef80    631 FUNC RETURNTYPE RAX 0
             52ef80    631 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 
             52f09d      3 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, r12 
@@ -13575,8 +13539,6 @@
             540520     85 FUNC RETURNTYPE RAX 1
             540520     85 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             540520     85 FUNC PROBLEM DSA_set_method CALLUNRESOLVED 
-            540557      4 INSTR FPTRSHADOW  [RBP+48] SHADOWID 64
-            540567      2 INSTR FPTRCHECK  RAX SHADOWID 64
             540580    518 FUNC RETURNTYPE RAX 4
             540580    518 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 
             540580    518 FUNC PROBLEM DSA_new_method CALLUNRESOLVED 
@@ -13837,8 +13799,6 @@
             5458c0    450 FUNC RETURNTYPE RAX 96
             5458c0    450 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 4 
             5458c0    450 FUNC PROBLEM DSO_new_method CALLUNRESOLVED 
-            545958      4 INSTR FPTRSHADOW  [RBP+64] SHADOWID 65
-            545967      2 INSTR FPTRCHECK  RAX SHADOWID 65
             545a90      7 FUNC RETURNTYPE RAX 4
             545a90      7 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 4 ARG4 0 ARG5 4 
             545aa0    294 FUNC RETURNTYPE RAX 1
@@ -14361,10 +14321,10 @@
             54f980    801 FUNC RETURNTYPE RAX 0
             54f980    801 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
             54f980    801 FUNC PROBLEM ASN1_sign CALLUNRESOLVED 
-            54f980      2 INSTR FPTRSHADOW  RDI SHADOWID 66
-            54fa8d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 66
-            54f980      2 INSTR FPTRSHADOW  RDI SHADOWID 67
-            54fb66      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 67
+            54f980      2 INSTR FPTRSHADOW  RDI SHADOWID 46
+            54fa8d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 46
+            54f980      2 INSTR FPTRSHADOW  RDI SHADOWID 47
+            54fb66      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 47
             54fcb0    870 FUNC RETURNTYPE RAX 0
             54fcb0    870 FUNC INARGS    6  ARG0 16 ARG1 4 ARG2 4 ARG3 0 ARG4 4 ARG5 4 
             54fcb0    870 FUNC PROBLEM ASN1_item_sign_ctx CALLUNRESOLVED 
@@ -16158,12 +16118,12 @@
             580e1a      3 INSTR CHECK OVERFLOW SIGNED 32  RSI ZZ add     esi, 1 
             580e61      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R10+2 ZZ lea     esi, [r10+2] 
             580ea0      3 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+1 ZZ lea     esi, [rax+1] 
-            580992      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 68
-            580f16      4 INSTR FPTRCHECK  ECX SHADOWID 68
-            580ab2      4 INSTR FPTRSHADOW  EAX SHADOWID 69
-            580b4f      4 INSTR FPTRCHECK  ECX SHADOWID 69
-            580992      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 70
-            580ca1      4 INSTR FPTRCHECK  ECX SHADOWID 70
+            580992      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 48
+            580f16      4 INSTR FPTRCHECK  ECX SHADOWID 48
+            580ab2      4 INSTR FPTRSHADOW  EAX SHADOWID 49
+            580b4f      4 INSTR FPTRCHECK  ECX SHADOWID 49
+            580992      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 50
+            580ca1      4 INSTR FPTRCHECK  ECX SHADOWID 50
             580f60    672 FUNC RETURNTYPE RAX 1
             580f60    672 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 96 
             581200   2198 FUNC RETURNTYPE RAX 4
@@ -16441,10 +16401,10 @@
             589d70   1061 FUNC PROBLEM BIO_dump_indent_cb CALLUNRESOLVED 
             58a003      3 INSTR CHECK TRUNCATION UNSIGNED 64 RCX 8 CL ZZ IDIOM 5 movzx   ecx, cl 
             58a0de      3 INSTR CHECK OVERFLOW SIGNED 64  R8 ZZ add     r8d, r14d 
-            589d70      2 INSTR FPTRSHADOW  RDI SHADOWID 71
-            58a08b      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 71
-            589d70      2 INSTR FPTRSHADOW  RDI SHADOWID 72
-            58a126      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 72
+            589d70      2 INSTR FPTRSHADOW  RDI SHADOWID 51
+            58a08b      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 51
+            589d70      2 INSTR FPTRSHADOW  RDI SHADOWID 52
+            58a126      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 52
             58a1a0      8 FUNC RETURNTYPE RAX 0
             58a1a0      8 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             58a1b0     21 FUNC RETURNTYPE RAX 0
@@ -17060,32 +17020,32 @@
             59861d      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, 38h 
             5986a2      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+152 ZZ IDIOM 18 MEMORYSINK lea     rdx, [rbp+98h] 
             5986c0      5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+8 ZZ IDIOM 18 MEMORYSINK lea     rdx, [r12+8] 
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 73
-            598654      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 73
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 74
-            59835a      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 74
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 75
-            5983bc      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 75
-            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 76
-            59871f      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 76
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 77
-            598409      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 77
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 78
-            598423      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 78
-            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 79
-            598444      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 79
-            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 80
-            5987a5      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 80
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 81
-            5984d1      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 81
-            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 82
-            5984f0      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 82
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 83
-            59854d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 83
-            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 84
-            598582      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 84
-            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 85
-            5985dc      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 85
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 53
+            598654      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 53
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 54
+            59835a      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 54
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 55
+            5983bc      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 55
+            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 56
+            59871f      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 56
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 57
+            598409      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 57
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 58
+            598423      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 58
+            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 59
+            598444      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 59
+            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 60
+            5987a5      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 60
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 61
+            5984d1      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 61
+            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 62
+            5984f0      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 62
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 63
+            59854d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 63
+            5982d1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 64
+            598582      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 64
+            5982ca      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 65
+            5985dc      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 65
             5987c0    537 FUNC RETURNTYPE RAX 1
             5987c0    537 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             5987c0    537 FUNC PROBLEM ec_GFp_simple_set_Jprojective_coordinates_GFp CALLUNRESOLVED 
@@ -17165,38 +17125,38 @@
             59a27d      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+32 ZZ IDIOM 18 MEMORYSINK lea     rdi, [r14+20h] 
             59a2a3      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rbp+38h] 
             59a2e3      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+56 ZZ IDIOM 18 MEMORYSINK lea     rdi, [r14+38h] 
-            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 86
-            599d68      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 86
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 87
-            59a01c      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 87
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 88
-            59a03b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 88
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 89
-            59a05b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 89
-            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 90
-            599f8c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 90
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 91
-            599fb4      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 91
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 92
-            599fd3      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 92
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 93
-            599ff3      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 93
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 94
-            59a2cd      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 94
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 95
-            59a10a      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 95
-            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 96
-            59a136      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 96
-            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 97
-            59a15a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 97
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 98
-            59a17b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 98
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 99
-            59a1f6      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 99
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 100
-            59a215      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 100
-            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 101
-            59a236      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 101
+            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 66
+            599d68      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 66
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 67
+            59a01c      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 67
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 68
+            59a03b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 68
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 69
+            59a05b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 69
+            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 70
+            599f8c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 70
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 71
+            599fb4      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 71
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 72
+            599fd3      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 72
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 73
+            599ff3      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 73
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 74
+            59a2cd      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 74
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 75
+            59a10a      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 75
+            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 76
+            59a136      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 76
+            599cc1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 77
+            59a15a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 77
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 78
+            59a17b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 78
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 79
+            59a1f6      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 79
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 80
+            59a215      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 80
+            599cba      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 81
+            59a236      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 81
             59a330    174 FUNC RETURNTYPE RAX 96
             59a330    174 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             59a3e0    548 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/save-openssl.psexe.infoannot b/tests/commit/save-openssl.psexe.infoannot
index e726bdac..9cd4f63e 100644
--- a/tests/commit/save-openssl.psexe.infoannot
+++ b/tests/commit/save-openssl.psexe.infoannot
@@ -1078,10 +1078,6 @@
             4509e4      5 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+RDX+20 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+rdx+14h] 
             450a53      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+8 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+8]    ; src 
             450a57      2 INSTR CHECK SIGNEDNESS UNSIGNED 32 ECX ZZ mov     edx, ecx        ; n 
-            4505d5      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 1
-            4505ff      2 INSTR FPTRCHECK  RAX SHADOWID 1
-            44f7ec      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 2
-            44f819      3 INSTR FPTRCHECK  R10 SHADOWID 2
             450e70      6 FUNC RETURNTYPE RAX 1
             450e70      6 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             450e80      6 FUNC RETURNTYPE RAX 1
@@ -1530,10 +1526,6 @@
             462c35      7 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [rbp+130h] ; src 
             462c3c      3 INSTR CHECK SIGNEDNESS UNSIGNED 64 R12 ZZ mov     edx, r12d       ; n 
             462df1      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea     edx, [r12+3E8h] 
-            461fc8      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 3
-            462011      2 INSTR FPTRCHECK  RAX SHADOWID 3
-            4629b1      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 4
-            4629e4      2 INSTR FPTRCHECK  RAX SHADOWID 4
             462fc0    287 FUNC RETURNTYPE RAX 96
             462fc0    287 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             462fc0    287 FUNC PROBLEM ssl3_dispatch_alert CALLUNRESOLVED 
@@ -1583,8 +1575,6 @@
             463b10   1030 FUNC PROBLEM ssl3_get_message CALLUNRESOLVED 
             463c31      3 INSTR CHECK OVERFLOW SIGNED 32  RDX ZZ add     edx, 4 
             463e23      3 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+4 ZZ lea     esi, [rcx+4] 
-            463cf0      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 5
-            463cac      2 INSTR FPTRCHECK  RAX SHADOWID 5
             463f20    157 FUNC RETURNTYPE RAX 1
             463f20    157 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 
             463fc0     24 FUNC RETURNTYPE RAX 1
@@ -1645,6 +1635,22 @@
             4652a2      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
             46530f      5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+-13 ZZ lea     edx, [r12-0Dh] 
             46538f      3 INSTR CHECK OVERFLOW UNKNOWNSIGN 32  RBP ZZ add     ebp, 1 
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 1
+            4652bf      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 1
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 2
+            464dfa      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 2
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 3
+            464da7      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 3
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 4
+            465353      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 4
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 5
+            464e3c      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 5
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 6
+            46539a      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 6
+            464c65      9 INSTR FPTRSHADOW  4604928 SHADOWID 7
+            464fc1      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 7
+            464c5c      9 INSTR FPTRSHADOW  4788480 SHADOWID 8
+            464fb0      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 8
             4655a0     85 FUNC RETURNTYPE RAX 1
             4655a0     85 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             465600      6 FUNC RETURNTYPE RAX 16
@@ -2033,10 +2039,6 @@
             473012      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+632 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r12+278h] 
             473876      7 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [r13+130h] ; src 
             473996      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea     edx, [r12+3E8h] 
-            4730b5      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 6
-            4730ff      2 INSTR FPTRCHECK  RAX SHADOWID 6
-            473643      7 INSTR FPTRSHADOW  [RBX+152] SHADOWID 7
-            473675      2 INSTR FPTRCHECK  RAX SHADOWID 7
             473b40    238 FUNC RETURNTYPE RAX 1
             473b40    238 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             473b40    238 FUNC PROBLEM dtls1_write_app_data_bytes CALLUNRESOLVED 
@@ -2606,8 +2608,6 @@
             47e0f2      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbx+0C0h] 
             47e1a0      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+272 ZZ IDIOM 18 MEMORYSINK lea     rdx, [r13+110h] 
             47e1a7      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+264 ZZ IDIOM 18 MEMORYSINK lea     rsi, [r13+108h] 
-            47e0d6      5 INSTR FPTRSHADOW  [R12+88] SHADOWID 8
-            47e0f0      2 INSTR FPTRCHECK  RAX SHADOWID 8
             47e1c0      8 FUNC RETURNTYPE RAX 0
             47e1c0      8 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 1 ARG3 1 ARG4 96 ARG5 96 
             47e1d0     78 FUNC RETURNTYPE RAX 4
@@ -2940,8 +2940,6 @@
             488750    284 FUNC RETURNTYPE RAX 1
             488750    284 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 
             488750    284 FUNC PROBLEM SSL_srp_server_param_with_username CALLUNRESOLVED 
-            488779      7 INSTR FPTRSHADOW  [RDI+688] SHADOWID 9
-            488792      2 INSTR FPTRCHECK  RAX SHADOWID 9
             488870    231 FUNC RETURNTYPE RAX 1
             488870    231 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 4 
             48890b      8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+776 ZZ IDIOM 18 MEMORYSINK lea     rcx, [r12+308h] 
@@ -3740,10 +3738,10 @@
             4ac540    407 FUNC PROBLEM CRYPTO_cbc128_encrypt CALLUNRESOLVED 
             4ac675      4 INSTR CHECK OVERFLOW UNSIGNED 64  RCX ZZ add     rcx, 1 
             4ac698      4 INSTR CHECK OVERFLOW UNSIGNED 64  RAX ZZ add     rax, 1 
+            4ac540      2 INSTR FPTRSHADOW  R9 SHADOWID 9
+            4ac5ae      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 9
             4ac540      2 INSTR FPTRSHADOW  R9 SHADOWID 10
-            4ac5ae      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 10
-            4ac540      2 INSTR FPTRSHADOW  R9 SHADOWID 11
-            4ac6ab      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 11
+            4ac6ab      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 10
             4ac6e0    599 FUNC RETURNTYPE RAX 1
             4ac6e0    599 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 8 ARG4 4 ARG5 2 
             4ac6e0    599 FUNC PROBLEM CRYPTO_cbc128_decrypt CALLUNRESOLVED 
@@ -3751,12 +3749,12 @@
             4ac85d      4 INSTR CHECK OVERFLOW UNSIGNED 64  R8 ZZ add     r8, 1 
             4ac889      4 INSTR CHECK OVERFLOW UNSIGNED 64  RAX ZZ add     rax, 1 
             4ac8f3      4 INSTR CHECK UNDERFLOW UNSIGNED 64  RAX ZZ IDIOM 31 sub     rax, 10h 
+            4ac6e0      2 INSTR FPTRSHADOW  R9 SHADOWID 11
+            4ac8d9      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 11
             4ac6e0      2 INSTR FPTRSHADOW  R9 SHADOWID 12
-            4ac8d9      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 12
+            4ac752      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 12
             4ac6e0      2 INSTR FPTRSHADOW  R9 SHADOWID 13
-            4ac752      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 13
-            4ac6e0      2 INSTR FPTRSHADOW  R9 SHADOWID 14
-            4ac7cd      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 14
+            4ac7cd      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 13
             4ac940    818 FUNC RETURNTYPE RAX 1
             4ac940    818 FUNC INARGS    3  ARG0 4 ARG1 4 ARG2 2 
             4ac940    818 FUNC PROBLEM CRYPTO_gcm128_init CALLUNRESOLVED 
@@ -3766,12 +3764,6 @@
             4acc80    496 FUNC PROBLEM CRYPTO_gcm128_setiv CALLUNRESOLVED 
             4acd15      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 10h 
             4acde8      4 INSTR CHECK OVERFLOW UNSIGNED 64  RAX ZZ add     rax, 1 
-            4acc98      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 15
-            4acdac      3 INSTR FPTRCHECK  R14 SHADOWID 15
-            4acc98      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 16
-            4acdf7      3 INSTR FPTRCHECK  R14 SHADOWID 16
-            4acc98      7 INSTR FPTRSHADOW  [RDI+352] SHADOWID 17
-            4ace10      3 INSTR FPTRCHECK  R14 SHADOWID 17
             4ace70    411 FUNC RETURNTYPE RAX 1
             4ace70    411 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 1 ARG5 96 
             4ace70    411 FUNC PROBLEM CRYPTO_gcm128_aad CALLUNRESOLVED 
@@ -3784,48 +3776,48 @@
             4ad2ba      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R9 ZZ IDIOM 31 sub     r9, 10h 
             4ad42a      4 INSTR CHECK OVERFLOW UNSIGNED 64  RCX ZZ add     rcx, 1 
             4ad47c      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
-            4ad027      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 18
-            4ad203      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 18
-            4ad027      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 19
-            4ad328      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 19
+            4ad027      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 14
+            4ad203      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 14
+            4ad027      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 15
+            4ad328      4 INSTR FPTRCHECK  [RSP+96] SHADOWID 15
             4ad4c0   1193 FUNC RETURNTYPE RAX 1
             4ad4c0   1193 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             4ad4c0   1193 FUNC PROBLEM CRYPTO_gcm128_decrypt CALLUNRESOLVED 
             4ad7bd      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R9 ZZ IDIOM 31 sub     r9, 10h 
             4ad8ea      4 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ add     rsi, 1 
             4ad92c      3 INSTR CHECK OVERFLOW UNSIGNED 32  RAX ZZ add     eax, 1 
-            4ad4d7      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 20
-            4ad639      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 20
-            4ad4d7      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 21
-            4ad75d      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 21
+            4ad4d7      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 16
+            4ad639      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 16
+            4ad4d7      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 17
+            4ad75d      4 INSTR FPTRCHECK  [RSP+88] SHADOWID 17
             4ad970    876 FUNC RETURNTYPE RAX 1
             4ad970    876 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             4ad970    876 FUNC PROBLEM CRYPTO_gcm128_encrypt_ctr32 CALLUNRESOLVED 
             4ada87      7 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 0C00h 
             4adbf6      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ add     rdx, 1 
             4adc3a      3 INSTR CHECK OVERFLOW UNSIGNED 32  RCX ZZ add     ecx, 1 
-            4ad9a2      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 22
-            4adacb      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 22
-            4ad970      2 INSTR FPTRSHADOW  R8 SHADOWID 23
-            4adaa8      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 23
-            4ad9a2      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 24
-            4adcb0      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 24
-            4ad970      2 INSTR FPTRSHADOW  R8 SHADOWID 25
-            4adc88      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 25
+            4ad9a2      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 18
+            4adacb      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 18
+            4ad970      2 INSTR FPTRSHADOW  R8 SHADOWID 19
+            4adaa8      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 19
+            4ad9a2      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 20
+            4adcb0      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 20
+            4ad970      2 INSTR FPTRSHADOW  R8 SHADOWID 21
+            4adc88      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 21
             4adce0    868 FUNC RETURNTYPE RAX 1
             4adce0    868 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 96 
             4adce0    868 FUNC PROBLEM CRYPTO_gcm128_decrypt_ctr32 CALLUNRESOLVED 
             4addf7      7 INSTR CHECK UNDERFLOW UNSIGNED 64  R13 ZZ IDIOM 31 sub     r13, 0C00h 
             4adf66      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ add     rdx, 1 
             4adfaa      3 INSTR CHECK OVERFLOW UNSIGNED 32  RDX ZZ add     edx, 1 
-            4adce0      2 INSTR FPTRSHADOW  R8 SHADOWID 26
-            4ade2c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 26
-            4add01      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 27
-            4ade0e      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 27
-            4adce0      2 INSTR FPTRSHADOW  R8 SHADOWID 28
-            4ae007      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 28
-            4add01      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 29
-            4adfed      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 29
+            4adce0      2 INSTR FPTRSHADOW  R8 SHADOWID 22
+            4ade2c      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 22
+            4add01      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 23
+            4ade0e      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 23
+            4adce0      2 INSTR FPTRSHADOW  R8 SHADOWID 24
+            4ae007      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 24
+            4add01      7 INSTR FPTRSHADOW  [RDI+360] SHADOWID 25
+            4adfed      4 INSTR FPTRCHECK  [RSP+32] SHADOWID 25
             4ae050    264 FUNC RETURNTYPE RAX 1
             4ae050    264 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 4 ARG5 0 
             4ae050    264 FUNC PROBLEM CRYPTO_gcm128_finish CALLUNRESOLVED 
@@ -4227,8 +4219,8 @@
             4b9b40   1292 FUNC PROBLEM BN_is_prime_fasttest_ex CALLUNRESOLVED 
             4ba050    236 FUNC RETURNTYPE RAX 0
             4ba050    236 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 
-            4ba076      4 INSTR FPTRSHADOW  EAX SHADOWID 30
-            4ba0f6      4 INSTR FPTRCHECK  ECX SHADOWID 30
+            4ba076      4 INSTR FPTRSHADOW  EAX SHADOWID 26
+            4ba0f6      4 INSTR FPTRCHECK  ECX SHADOWID 26
             4ba140    631 FUNC RETURNTYPE RAX 0
             4ba140    631 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 
             4ba25d      3 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, r12 
@@ -4887,8 +4879,6 @@
             4cb180     79 FUNC RETURNTYPE RAX 1
             4cb180     79 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4cb180     79 FUNC PROBLEM RSA_set_method CALLUNRESOLVED 
-            4cb1b1      4 INSTR FPTRSHADOW  [RBP+56] SHADOWID 31
-            4cb1c1      2 INSTR FPTRCHECK  RAX SHADOWID 31
             4cb1d0    587 FUNC RETURNTYPE RAX 4
             4cb1d0    587 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 96 
             4cb1d0    587 FUNC PROBLEM RSA_new_method CALLUNRESOLVED 
@@ -5079,8 +5069,6 @@
             4cf7c0     85 FUNC RETURNTYPE RAX 1
             4cf7c0     85 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4cf7c0     85 FUNC PROBLEM DSA_set_method CALLUNRESOLVED 
-            4cf7f7      4 INSTR FPTRSHADOW  [RBP+48] SHADOWID 32
-            4cf807      2 INSTR FPTRCHECK  RAX SHADOWID 32
             4cf820    518 FUNC RETURNTYPE RAX 4
             4cf820    518 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 
             4cf820    518 FUNC PROBLEM DSA_new_method CALLUNRESOLVED 
@@ -5218,8 +5206,6 @@
             4d1950     91 FUNC RETURNTYPE RAX 1
             4d1950     91 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4d1950     91 FUNC PROBLEM DH_set_method CALLUNRESOLVED 
-            4d198a      4 INSTR FPTRSHADOW  [RBP+32] SHADOWID 33
-            4d199d      2 INSTR FPTRCHECK  RAX SHADOWID 33
             4d19b0    440 FUNC RETURNTYPE RAX 4
             4d19b0    440 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 96 
             4d19b0    440 FUNC PROBLEM DH_new CALLUNRESOLVED 
@@ -6008,10 +5994,10 @@
             4df8c0   1061 FUNC PROBLEM BIO_dump_indent_cb CALLUNRESOLVED 
             4dfb53      3 INSTR CHECK TRUNCATION UNSIGNED 64 RCX 8 CL ZZ IDIOM 5 movzx   ecx, cl 
             4dfc2e      3 INSTR CHECK OVERFLOW SIGNED 64  R8 ZZ add     r8d, r14d 
-            4df8c0      2 INSTR FPTRSHADOW  RDI SHADOWID 34
-            4dfbdb      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 34
-            4df8c0      2 INSTR FPTRSHADOW  RDI SHADOWID 35
-            4dfc76      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 35
+            4df8c0      2 INSTR FPTRSHADOW  RDI SHADOWID 27
+            4dfbdb      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 27
+            4df8c0      2 INSTR FPTRSHADOW  RDI SHADOWID 28
+            4dfc76      4 INSTR FPTRCHECK  [RSP+48] SHADOWID 28
             4dfcf0      8 FUNC RETURNTYPE RAX 0
             4dfcf0      8 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4dfd00     21 FUNC RETURNTYPE RAX 0
@@ -7381,8 +7367,6 @@
             4f4e00    719 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 96 ARG4 4 ARG5 96 
             4f4e00    719 FUNC PROBLEM int_ctx_new CALLUNRESOLVED 
             4f4eac      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+8 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbp+8] 
-            4f4eca      4 INSTR FPTRSHADOW  [R13+8] SHADOWID 36
-            4f4ede      2 INSTR FPTRCHECK  RAX SHADOWID 36
             4f50d0    132 FUNC RETURNTYPE RAX 1
             4f50d0    132 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             4f5160    497 FUNC RETURNTYPE RAX 4
@@ -7459,43 +7443,31 @@
             4f5b60    110 FUNC RETURNTYPE RAX 1
             4f5b60    110 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f5b60    110 FUNC PROBLEM EVP_PKEY_sign_init CALLUNRESOLVED 
-            4f5b78      4 INSTR FPTRSHADOW  [RAX+64] SHADOWID 37
-            4f5b8d      2 INSTR FPTRCHECK  RDX SHADOWID 37
             4f5bd0    294 FUNC RETURNTYPE RAX 0
             4f5bd0    294 FUNC PROBLEM EVP_PKEY_sign JUMPUNRESOLVED 
             4f5d00    110 FUNC RETURNTYPE RAX 1
             4f5d00    110 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f5d00    110 FUNC PROBLEM EVP_PKEY_verify_init CALLUNRESOLVED 
-            4f5d18      4 INSTR FPTRSHADOW  [RAX+80] SHADOWID 38
-            4f5d2d      2 INSTR FPTRCHECK  RDX SHADOWID 38
             4f5d70    134 FUNC RETURNTYPE RAX 0
             4f5d70    134 FUNC PROBLEM EVP_PKEY_verify JUMPUNRESOLVED 
             4f5e00    110 FUNC RETURNTYPE RAX 1
             4f5e00    110 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f5e00    110 FUNC PROBLEM EVP_PKEY_verify_recover_init CALLUNRESOLVED 
-            4f5e18      4 INSTR FPTRSHADOW  [RAX+96] SHADOWID 39
-            4f5e2d      2 INSTR FPTRCHECK  RDX SHADOWID 39
             4f5e70    294 FUNC RETURNTYPE RAX 0
             4f5e70    294 FUNC PROBLEM EVP_PKEY_verify_recover JUMPUNRESOLVED 
             4f5fa0    126 FUNC RETURNTYPE RAX 1
             4f5fa0    126 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f5fa0    126 FUNC PROBLEM EVP_PKEY_encrypt_init CALLUNRESOLVED 
-            4f5fbb      7 INSTR FPTRSHADOW  [RAX+144] SHADOWID 40
-            4f5fd3      2 INSTR FPTRCHECK  RDX SHADOWID 40
             4f6020    294 FUNC RETURNTYPE RAX 0
             4f6020    294 FUNC PROBLEM EVP_PKEY_encrypt JUMPUNRESOLVED 
             4f6150    126 FUNC RETURNTYPE RAX 1
             4f6150    126 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f6150    126 FUNC PROBLEM EVP_PKEY_decrypt_init CALLUNRESOLVED 
-            4f616b      7 INSTR FPTRSHADOW  [RAX+160] SHADOWID 41
-            4f6183      2 INSTR FPTRCHECK  RDX SHADOWID 41
             4f61d0    294 FUNC RETURNTYPE RAX 0
             4f61d0    294 FUNC PROBLEM EVP_PKEY_decrypt JUMPUNRESOLVED 
             4f6300    126 FUNC RETURNTYPE RAX 1
             4f6300    126 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f6300    126 FUNC PROBLEM EVP_PKEY_derive_init CALLUNRESOLVED 
-            4f631b      7 INSTR FPTRSHADOW  [RAX+176] SHADOWID 42
-            4f6333      2 INSTR FPTRCHECK  RDX SHADOWID 42
             4f6380    562 FUNC RETURNTYPE RAX 1
             4f6380    562 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 96 ARG5 96 
             4f6380    562 FUNC PROBLEM EVP_PKEY_derive_set_peer CALLUNRESOLVED 
@@ -7507,16 +7479,12 @@
             4f6700    110 FUNC RETURNTYPE RAX 1
             4f6700    110 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 96 ARG4 4 ARG5 96 
             4f6700    110 FUNC PROBLEM EVP_PKEY_paramgen_init CALLUNRESOLVED 
-            4f6718      4 INSTR FPTRSHADOW  [RAX+32] SHADOWID 43
-            4f672d      2 INSTR FPTRCHECK  RDX SHADOWID 43
             4f6770    259 FUNC RETURNTYPE RAX 1
             4f6770    259 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f6770    259 FUNC PROBLEM EVP_PKEY_paramgen CALLUNRESOLVED 
             4f6880    110 FUNC RETURNTYPE RAX 1
             4f6880    110 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 96 ARG4 96 ARG5 96 
             4f6880    110 FUNC PROBLEM EVP_PKEY_keygen_init CALLUNRESOLVED 
-            4f6898      4 INSTR FPTRSHADOW  [RAX+48] SHADOWID 44
-            4f68ad      2 INSTR FPTRCHECK  RDX SHADOWID 44
             4f68f0    259 FUNC RETURNTYPE RAX 1
             4f68f0    259 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             4f68f0    259 FUNC PROBLEM EVP_PKEY_keygen CALLUNRESOLVED 
@@ -7531,8 +7499,6 @@
             4f6a70    225 FUNC RETURNTYPE RAX 1
             4f6a70    225 FUNC INARGS    6  ARG0 1 ARG1 96 ARG2 4 ARG3 1 ARG4 1 ARG5 96 
             4f6a70    225 FUNC PROBLEM EVP_PKEY_new_mac_key CALLUNRESOLVED 
-            4f6ab3      4 INSTR FPTRSHADOW  [RAX+48] SHADOWID 45
-            4f6ac6      2 INSTR FPTRCHECK  RAX SHADOWID 45
             4f6b60    454 FUNC RETURNTYPE RAX 1
             4f6b60    454 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 1 
             4f6b60    454 FUNC PROBLEM do_sigver_init CALLUNRESOLVED 
@@ -8284,6 +8250,12 @@
             506763      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R13+-1 ZZ lea     edx, [r13-1] 
             5069a0      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+-1 ZZ lea     edx, [r13-1] 
             506f1a      3 INSTR CHECK UNDERFLOW UNSIGNED 64  RDX ZZ IDIOM 19 sub     rdx, rsi 
+            5065e7      9 INSTR FPTRSHADOW  0 SHADOWID 29
+            50671a      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 29
+            5065e7      9 INSTR FPTRSHADOW  0 SHADOWID 30
+            5068f8      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 30
+            5065e7      9 INSTR FPTRSHADOW  0 SHADOWID 31
+            5067f8      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 31
             506ff0    836 FUNC RETURNTYPE RAX 1
             506ff0    836 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 8 
             5071b7      3 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov     r8d, eax 
@@ -8778,8 +8750,8 @@
             50e1a0   1748 FUNC RETURNTYPE RAX 4
             50e1a0   1748 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 2 ARG3 96 ARG4 96 ARG5 96 
             50e742      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+24 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rbx+18h] 
-            50e1a0      2 INSTR FPTRSHADOW  RDX SHADOWID 46
-            50e561      5 INSTR FPTRCHECK  RCX SHADOWID 46
+            50e1a0      2 INSTR FPTRSHADOW  RDX SHADOWID 32
+            50e561      5 INSTR FPTRCHECK  RCX SHADOWID 32
             50e880    179 FUNC RETURNTYPE RAX 4
             50e880    179 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             50e940    672 FUNC RETURNTYPE RAX 96
@@ -9064,8 +9036,8 @@
             5139e0   1001 FUNC PROBLEM i2b_PVK CALLUNRESOLVED 
             513cc3      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RBX+-8 ZZ lea     r8d, [rbx-8] 
             513cf6      5 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [rsp+558h+var_518] 
-            5139e0      2 INSTR FPTRSHADOW  RCX SHADOWID 47
-            513b52      3 INSTR FPTRCHECK  [RSP] SHADOWID 47
+            5139e0      2 INSTR FPTRSHADOW  RCX SHADOWID 33
+            513b52      3 INSTR FPTRCHECK  [RSP] SHADOWID 33
             513dd0    908 FUNC RETURNTYPE RAX 4
             513dd0    908 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 1 ARG3 1 ARG4 4 ARG5 4 
             513ee3      4 INSTR CHECK UNDERFLOW UNSIGNED 64  RAX ZZ IDIOM 18 MEMORYSINK sub     rax, 1 
@@ -9285,10 +9257,10 @@
             51847c      5 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R12+-1 ZZ lea     esi, [r12-1] 
             5187ee      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 1Ch 
             518893      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 1Ch 
-            51833d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 48
-            518b73      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 48
-            51833d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 49
-            518538      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 49
+            51833d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 34
+            518b73      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 34
+            51833d      4 INSTR FPTRSHADOW  [RDI+64] SHADOWID 35
+            518538      4 INSTR FPTRCHECK  [RSP+16] SHADOWID 35
             518d10      7 FUNC RETURNTYPE RAX 0
             518d10      7 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             518d20      7 FUNC RETURNTYPE RAX 4
@@ -11153,8 +11125,6 @@
             539550    270 FUNC RETURNTYPE RAX 96
             539550    270 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 
             539550    270 FUNC PROBLEM COMP_CTX_new CALLUNRESOLVED 
-            5395b2      4 INSTR FPTRSHADOW  [RBX+16] SHADOWID 50
-            5395c2      2 INSTR FPTRCHECK  RAX SHADOWID 50
             539660     34 FUNC RETURNTYPE RAX 96
             539660     34 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 4 ARG3 1 ARG4 4 ARG5 96 
             539660     34 FUNC PROBLEM COMP_CTX_free CALLUNRESOLVED 
@@ -13166,16 +13136,16 @@
             56e9cf      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
             56ea1f      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX+1 ZZ lea     rax, [rdx+1] 
             56ea33      4 INSTR CHECK OVERFLOW UNSIGNED 64  R12 ZZ add     r12d, 1 
-            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 51
-            56e8ee      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 51
-            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 52
-            56e8dd      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 52
-            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 53
-            56e9f5      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 53
-            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 54
-            56e9e4      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 54
-            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 55
-            56ea4e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 55
+            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 36
+            56e8ee      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 36
+            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 37
+            56e8dd      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 37
+            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 38
+            56e9f5      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 38
+            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 39
+            56e9e4      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 39
+            56e80c      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 40
+            56ea4e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 40
             56eab0    677 FUNC RETURNTYPE RAX 1
             56eab0    677 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             56eab0    677 FUNC PROBLEM CRYPTO_ccm128_decrypt CALLUNRESOLVED 
@@ -13183,16 +13153,16 @@
             56ebf8      4 INSTR CHECK UNDERFLOW UNSIGNED 64  R15 ZZ IDIOM 31 sub     r15, 10h 
             56ec73      4 INSTR CHECK OVERFLOW UNSIGNED 64  R12 ZZ add     r12d, 1 
             56ed2e      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
-            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 56
-            56eb85      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 56
-            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 57
-            56ec37      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 57
-            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 58
-            56ecf9      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 58
-            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 59
-            56ec8e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 59
-            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 60
-            56ed47      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 60
+            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 41
+            56eb85      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 41
+            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 42
+            56ec37      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 42
+            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 43
+            56ecf9      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 43
+            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 44
+            56ec8e      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 44
+            56eaf1      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 45
+            56ed47      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 45
             56ed60    864 FUNC RETURNTYPE RAX 1
             56ed60    864 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             56ed60    864 FUNC PROBLEM CRYPTO_ccm128_encrypt_ccm64 CALLUNRESOLVED 
@@ -13200,20 +13170,20 @@
             56ee67      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
             56eec4      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX+1 ZZ lea     rax, [rdx+1] 
             56eed2      3 INSTR CHECK OVERFLOW UNSIGNED 32  RBP ZZ add     ebp, 1 
-            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 61
-            56ee94      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 61
-            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 62
-            56ee7b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 62
-            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 63
-            56eee9      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 63
+            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 46
+            56ee94      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 46
+            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 47
+            56ee7b      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 47
+            56ed95      4 INSTR FPTRSHADOW  [RDI+40] SHADOWID 48
+            56eee9      4 INSTR FPTRCHECK  [RSP+24] SHADOWID 48
             56f0c0    861 FUNC RETURNTYPE RAX 1
             56f0c0    861 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
             56f0c0    861 FUNC PROBLEM CRYPTO_ccm128_decrypt_ccm64 CALLUNRESOLVED 
             56f122      3 INSTR CHECK OVERFLOW UNSIGNED 32  RDX ZZ add     edx, 1 
             56f172      3 INSTR CHECK OVERFLOW UNSIGNED 32  RBP ZZ add     ebp, 1 
             56f3cb      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
-            56f0c0      2 INSTR FPTRSHADOW  R8 SHADOWID 64
-            56f21a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 64
+            56f0c0      2 INSTR FPTRSHADOW  R8 SHADOWID 49
+            56f21a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 49
             56f420     52 FUNC RETURNTYPE RAX 1
             56f420     52 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 1 
             56f440      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RDI+16 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rdi+10h]  ; src 
@@ -13246,12 +13216,12 @@
             57032a      3 INSTR CHECK OVERFLOW SIGNED 32  RSI ZZ add     esi, 1 
             570371      4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R10+2 ZZ lea     esi, [r10+2] 
             5703b0      3 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+1 ZZ lea     esi, [rax+1] 
-            56fea2      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 65
-            570426      4 INSTR FPTRCHECK  ECX SHADOWID 65
-            56ffc2      4 INSTR FPTRSHADOW  EAX SHADOWID 66
-            57005f      4 INSTR FPTRCHECK  ECX SHADOWID 66
-            56fea2      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 67
-            5701b1      4 INSTR FPTRCHECK  ECX SHADOWID 67
+            56fea2      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 50
+            570426      4 INSTR FPTRCHECK  ECX SHADOWID 50
+            56ffc2      4 INSTR FPTRSHADOW  EAX SHADOWID 51
+            57005f      4 INSTR FPTRCHECK  ECX SHADOWID 51
+            56fea2      4 INSTR FPTRSHADOW  [R15+8] SHADOWID 52
+            5701b1      4 INSTR FPTRCHECK  ECX SHADOWID 52
             570470    508 FUNC RETURNTYPE RAX 4
             570470    508 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 0 
             570549      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+40 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rbx+28h] 
@@ -13794,8 +13764,6 @@
             57ed70    450 FUNC RETURNTYPE RAX 96
             57ed70    450 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 96 
             57ed70    450 FUNC PROBLEM DSO_new_method CALLUNRESOLVED 
-            57ee08      4 INSTR FPTRSHADOW  [RBP+64] SHADOWID 68
-            57ee17      2 INSTR FPTRCHECK  RAX SHADOWID 68
             57ef40      7 FUNC RETURNTYPE RAX 4
             57ef40      7 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 4 ARG4 0 ARG5 0 
             57ef50    294 FUNC RETURNTYPE RAX 1
@@ -14041,10 +14009,10 @@
             582d60    801 FUNC RETURNTYPE RAX 0
             582d60    801 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
             582d60    801 FUNC PROBLEM ASN1_sign CALLUNRESOLVED 
-            582d60      2 INSTR FPTRSHADOW  RDI SHADOWID 69
-            582e6d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 69
-            582d60      2 INSTR FPTRSHADOW  RDI SHADOWID 70
-            582f46      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 70
+            582d60      2 INSTR FPTRSHADOW  RDI SHADOWID 53
+            582e6d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 53
+            582d60      2 INSTR FPTRSHADOW  RDI SHADOWID 54
+            582f46      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 54
             583090    870 FUNC RETURNTYPE RAX 0
             583090    870 FUNC INARGS    6  ARG0 16 ARG1 4 ARG2 4 ARG3 0 ARG4 4 ARG5 4 
             583090    870 FUNC PROBLEM ASN1_item_sign_ctx CALLUNRESOLVED 
@@ -14895,32 +14863,32 @@
             599c4d      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, 38h 
             599cd2      7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+152 ZZ IDIOM 18 MEMORYSINK lea     rdx, [rbp+98h] 
             599cf0      5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+8 ZZ IDIOM 18 MEMORYSINK lea     rdx, [r12+8] 
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 71
-            599c84      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 71
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 72
-            59998a      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 72
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 73
-            5999ec      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 73
-            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 74
-            599d4f      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 74
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 75
-            599a39      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 75
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 76
-            599a53      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 76
-            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 77
-            599a74      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 77
-            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 78
-            599dd5      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 78
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 79
-            599b01      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 79
-            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 80
-            599b20      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 80
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 81
-            599b7d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 81
-            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 82
-            599bb2      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 82
-            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 83
-            599c0c      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 83
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 55
+            599c84      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 55
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 56
+            59998a      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 56
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 57
+            5999ec      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 57
+            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 58
+            599d4f      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 58
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 59
+            599a39      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 59
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 60
+            599a53      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 60
+            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 61
+            599a74      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 61
+            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 62
+            599dd5      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 62
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 63
+            599b01      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 63
+            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 64
+            599b20      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 64
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 65
+            599b7d      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 65
+            599901      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 66
+            599bb2      4 INSTR FPTRCHECK  [RSP+8] SHADOWID 66
+            5998fa      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 67
+            599c0c      4 INSTR FPTRCHECK  [RSP+56] SHADOWID 67
             599df0    537 FUNC RETURNTYPE RAX 1
             599df0    537 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             599df0    537 FUNC PROBLEM ec_GFp_simple_set_Jprojective_coordinates_GFp CALLUNRESOLVED 
@@ -15000,38 +14968,38 @@
             59b8ad      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+32 ZZ IDIOM 18 MEMORYSINK lea     rdi, [r14+20h] 
             59b8d3      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea     rsi, [rbp+38h] 
             59b913      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+56 ZZ IDIOM 18 MEMORYSINK lea     rdi, [r14+38h] 
-            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 84
-            59b398      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 84
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 85
-            59b64c      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 85
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 86
-            59b66b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 86
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 87
-            59b68b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 87
-            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 88
-            59b5bc      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 88
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 89
-            59b5e4      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 89
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 90
-            59b603      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 90
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 91
-            59b623      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 91
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 92
-            59b8fd      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 92
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 93
-            59b73a      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 93
-            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 94
-            59b766      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 94
-            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 95
-            59b78a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 95
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 96
-            59b7ab      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 96
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 97
-            59b826      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 97
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 98
-            59b845      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 98
-            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 99
-            59b866      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 99
+            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 68
+            59b398      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 68
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 69
+            59b64c      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 69
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 70
+            59b66b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 70
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 71
+            59b68b      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 71
+            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 72
+            59b5bc      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 72
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 73
+            59b5e4      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 73
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 74
+            59b603      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 74
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 75
+            59b623      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 75
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 76
+            59b8fd      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 76
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 77
+            59b73a      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 77
+            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 78
+            59b766      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 78
+            59b2f1      7 INSTR FPTRSHADOW  [RAX+264] SHADOWID 79
+            59b78a      4 INSTR FPTRCHECK  [RSP+40] SHADOWID 79
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 80
+            59b7ab      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 80
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 81
+            59b826      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 81
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 82
+            59b845      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 82
+            59b2ea      7 INSTR FPTRSHADOW  [RAX+256] SHADOWID 83
+            59b866      4 INSTR FPTRCHECK  [RSP+72] SHADOWID 83
             59b960    174 FUNC RETURNTYPE RAX 96
             59b960    174 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
             59ba10    548 FUNC RETURNTYPE RAX 1
-- 
GitLab