typedef unsigned long u32; typedef unsigned short u16; typedef long double f64; typedef struct { u32 hi; u32 lo; } u64; typedef struct { u64 hi; u64 lo; } u128; typedef struct { u32 eax, ebx, ecx, edx; u32 *esi, edi, ebp, esp; u16 cs, ds, ss, es, fs, gs; u32 eflags; u32 *eip; union { f64 st[8]; u64 mm[8]; } u; u128 xmm[8]; } X86REG;