title: How FILD and FSTP work?
body: <p>I've searched over the net, and everywhere it says: FILD converts the two's complement of an
  integer to 80 bit extended precision float, and puts it on top of the floats stack.
  So, I've had a program do that, but the result I get is unexpected.</p>
  
  <p>Example:
  I have the number 0xFF20A810 in memory (let's say in 0x40000000)
  fild [0x40000000]
  fstp [0x40010000]</p>
  
  <p>The result I get is 0x41EFE41502000000. How is the number converted?
  I'm in the middle of a crackme which uses this, and I just can't find a solution.</p>
  
  <p>Thank you</p>