Initial set of changes to support building with MSVC 2013. Right now there's a bunch fo assumptions in the .vcxproj file and some things are not as clean as they should be, but it does build a full build and works (at least the x86 side). The point of this initial checkpoint is to make sure that nothing breaks on the GCC side, that everyone is ok with the changes to the source (or if better fixes/typing can be done).
diff --git a/MCRegisterInfo.c b/MCRegisterInfo.c
index 7b6ee1b..8dcee7f 100644
--- a/MCRegisterInfo.c
+++ b/MCRegisterInfo.c
@@ -63,10 +63,12 @@
 
 static bool DiffListIterator_next(DiffListIterator *d)
 {
+    MCPhysReg D;
+
 	if (d->List == 0)
 		return false;
 
-	MCPhysReg D = *d->List;
+	D = *d->List;
 	d->List++;
 	d->Val += D;
 
@@ -89,7 +91,7 @@
 		return 0;
 	}
 
-	DiffListIterator_init(&iter, Reg, RI->DiffLists + RI->Desc[Reg].SuperRegs);
+	DiffListIterator_init(&iter, (MCPhysReg)Reg, RI->DiffLists + RI->Desc[Reg].SuperRegs);
 	DiffListIterator_next(&iter);
 
 	while(DiffListIterator_isValid(&iter)) {
@@ -108,7 +110,7 @@
 	DiffListIterator iter;
 	uint16_t *SRI = RI->SubRegIndices + RI->Desc[Reg].SubRegIndices;
 
-	DiffListIterator_init(&iter, Reg, RI->DiffLists + RI->Desc[Reg].SubRegs);
+	DiffListIterator_init(&iter, (MCPhysReg)Reg, RI->DiffLists + RI->Desc[Reg].SubRegs);
 	DiffListIterator_next(&iter);
 
 	while(DiffListIterator_isValid(&iter)) {