You say you have something working, but still be careful not to return a pointer to an out-of-scope object from one of your functions. This even may superficially seem to work, but just as long as you don't access the invalid object after it has been overwritten, and that definitely will happen sometime, so that situation is a ticking time bomb.
Ya for the time being I scrapped my memory management routine since it wasnt designed for these structures, and I have local variables in each routine to keep track of what objects were created within the routine and which havent been so that at the end the correct objects can be destroyed and the correct ones be kept.

I just remembered reading somewhere, that when passing an object to assembly code from c++ that the actual value passed in is equavilent to the "this" pointer. I have been trying to figure out what was going on, when using the value passed into the assembly routines I have to do something like
Code:
 mov   r11    qword ptr[rcx]
, then I could use instructions such as :

Code:
mov   rax, [r11].BI._sign
and such. the only reason why I am asking is because if that is the fact then I can get rid of the translating sections of code in both assembly and c++. On the c++ side I have a native class with two variables in it both unisgned __int64* the first one is the _sign and when I define it I call for enough memory to hold one unsigned __int64 element, the second value is the array holding the value. So if I am understanding this correctly, the "this" pointer could be looked at as an array itself holding pointers to the data itself like I have setup in the structure allready. I didnt even try this out yet, but it make since to me that thats how they pass an object.