procedure blah; var D: Double; E: Extended; I: Integer; begin E := 360.0; D := E; I := Trunc(D); end; CODE:0042004C sub_42004C proc near ; CODE XREF: CODE:0042014Dp CODE:0042004C CODE:0042004C var_14 = qword ptr -14h CODE:0042004C var_C = dword ptr -0Ch CODE:0042004C var_4 = word ptr -4 CODE:0042004C CODE:0042004C add esp, 0FFFFFFECh CODE:0042004F xor eax, eax CODE:00420051 mov [esp+14h+var_C], eax CODE:00420055 mov dword ptr [esp+0Ch], 0B4000000h CODE:0042005D mov [esp+14h+var_4], 4007h CODE:00420064 fld tbyte ptr [esp+14h+var_C] CODE:00420068 fstp [esp+14h+var_14] CODE:0042006B wait CODE:0042006C fld [esp+14h+var_14] CODE:0042006F call sub_4028FC CODE:00420074 add esp, 14h CODE:00420077 retn CODE:00420077 sub_42004C endp CODE:004028FC sub_4028FC proc near ; CODE XREF: sub_42004C+23p CODE:004028FC CODE:004028FC var_C = word ptr -0Ch CODE:004028FC var_A = word ptr -0Ah CODE:004028FC var_8 = qword ptr -8 CODE:004028FC CODE:004028FC sub esp, 0Ch CODE:004028FF fnstcw [esp+0Ch+var_C] CODE:00402902 fnstcw [esp+0Ch+var_A] CODE:00402906 wait CODE:00402907 or [esp+0Ch+var_A], 0F00h CODE:0040290E fldcw [esp+0Ch+var_A] CODE:00402912 fistp [esp+0Ch+var_8] CODE:00402916 wait CODE:00402917 fldcw [esp+0Ch+var_C] CODE:0040291A pop ecx CODE:0040291B pop eax CODE:0040291C pop edx CODE:0040291D retn CODE:0040291D sub_4028FC endp