rdmsr_xlat:
[   156] U0ae0:  tmp8:= MOVEINSERTFLGS_DSZ64(0x00000031, rcx) !m1 
[     0] U0ae1: LFNCEMARK-> tmp1:= ZEROEXT_DSZ32() 
[   156] U0ae2:  tmp5:= TESTUSTATE(tmp1, SYS, UST_USER_MODE | UST_VMX_DUAL_MON | UST_VMX_GUEST) !m1 ? SEQW SAVEUIP0 U0ae4? SEQW GOTO U677d
[   157] U0ae4:  tmp10:= NOTAND_DSZ32(0x0001c000, tmp8) 
[     0] U0ae5:  tmp10:= MSR2CR( , tmp10) 
[   159] U0ae6:  SAVEUIP( , 0x00, U0686) SEQW GOTO U3ce1
[     0] U3ce1:  tmp13:= SHR_DSZ32(tmp10, 0x00000003) 
[   159] U3ce2:  tmp13:= AND_DSZ32(0x00000078, tmp13) 
[   160] U3ce4:  tmp13:= OR_DSZ32(0x00523700, tmp13) 
[     0] U3ce5:  tmp14:= SELECTCC_DSZ32_CONDB(tmp8, 0x00000080) 
[   163] U3ce6:  tmp13:= OR_DSZ32(tmp13, tmp14) 
[   163] U3ce8:  tmp2:= AND_DSZ32(0x0000003f, tmp10) 
[     0] U3ce9:  tmp2:= OR_DSZ32(tmp1, tmp2) 
[   164] U3cea:  tmp2:= UFLOWCTRL(tmp2, tmp2, USTATE) 
[   164] U3cec:  UFLOWCTRL(tmp2, tmp13, URET0) 
[     0] U3ced:  tmp1:= AND_DSZ32(0x00000004, tmp10) 
[   165] U3cee:  tmp1:= SHL_DSZ64(tmp1, 0x00000021) 
[   166] U3cf0: LFNCEWTMRK-> MOVETOCREG_DSZ64(tmp1, 0x752) 
[     0] U3cf1:  tmp14:= SHR_DSZ32(tmp10, 0x00000016) 
[   172] U3cf2:  tmp14:= AND_DSZ32(0x000003fc, tmp14) 
[   172] U3cf4:  tmp14:= OR_DSZ32(0x00523000, tmp14) 
[     0] U3cf5: SYNCWTMRK-> UFLOWCTRL(tmp2, tmp14, URET1) 
[   172] U3cf6:  tmp2:= AND_DSZ32(0x3ffff000, tmp8) 
[   174] U3cf8: LFNCEMARK-> UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp2, U2711) 
[     0] U3cf9:  tmp10:= SHR_DSZ32(tmp10, 0x0000000a) 
[   174] U3cfa:  tmp12:= OR_DSZ32(0x0000c000, tmp8) 
[   174] U3cfc:  tmp12:= MSR2CR( , tmp12) 
[     0] U3cfd:  tmp2:= OR_DSZ32(0x00014000, tmp8) 
[   174] U3cfe:  tmp2:= MSR2CR( , tmp2) 
[   175] U3d02:  tmp1:= CONCAT_DSZ32(0x90810200, tmp1) 
[   175] U3d06:  tmp1:= ZEROEXT_DSZ32(0x020b8000) 
[   176] U3d00:  tmp12:= CONCAT_DSZ32(tmp2, tmp12) 
[     0] U3d01:  tmp1:= ZEROEXT_DSZ32(0x00100408) 
[   177] U3d0a:  tmp1:= AND_DSZ64(tmp1, tmp2) 
[   178] U3d04:  tmp3:= READURAM( , 0x0035, 64) 
[     0] U3d05:  tmp3:= AND_DSZ64(tmp1, tmp3) 
[   178] U3d08:  tmp1:= CONCAT_DSZ32(0x003c491c, tmp1) 
[     0] U3d09:  tmp2:= READURAM( , 0x0077, 64) 
[   179] U3d0c:  tmp2:= BTR_DSZ64(tmp1, 0x00000023) 
[     0] U3d0d:  TESTUSTATE( , SYS, UST_SMM) !m1 ? SEQW GOTO U3d16
[   179] U3d0e:  tmp2:= BTC_DSZ64(tmp1, 0x00000023) 
[   180] U3d10:  tmp1:= READURAM( , 0x0023, 64) 
[     0] U3d11:  tmp1:= AND_DSZ32(0x00000040, tmp1) 
[   180] U3d12:  tmp3:= OR_DSZ64(tmp1, tmp3) 
[   180] U3d16:  tmp3:= OR_DSZ64(tmp2, tmp3) 
[   180] U3d18:  tmp3:= XOR_DSZ64(0x00020008, tmp3) 
[     0] U3d19:  tmp2:= AND_DSZ32(0x00003fff, tmp10) 
[   181] U3d14:  TESTUSTATE( , UCODE, 0x0800) ? SEQW GOTO U3d16
[     0] U3d15:  tmp3:= BTS_DSZ64(tmp3, 0x0000003d) 
[   181] U3d1a:  tmp2:= SHL_DSZ32(tmp2, 0x00000002) SEQW URET0
[   189] U3700:  SAVEUIP( , 0x00, U2e2a) 
[     0] U3701: SYNCWAIT-> TESTUSTATE( , UCODE, !0x00e4) !m0 ? SEQW URET1
[   193] U3702:  TESTUSTATE( , UCODE, 0x0004) ? SEQW GOTO U5eb6
[     0] U5eb5:  tmp2:= OR_DSZ32(tmp8, tmp2) SEQW URET0
[   196] U5eb6:  TESTUSTATE( , SYS, 0x4000) !m1 ? SEQW GOTO U4e75
[   198] U4e74: MSSTOP-> unk_25e( , tmp14) SEQW GOTO U3dfa
[     0] U4e75:  tmp2:= NOTAND_DSZ32(0x00000fff, tmp8) 
[   198] U4e76:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp2, U2711) 
[   198] U4e78:  tmp10:= SELECTCC_DSZ32_CONDB(tmp8, 0x00001000) 
[     0] U4e79:  tmp10:= OR_DSZ32(tmp10, tmp8) 
[   199] U4e7a:  PORTOUT_DSZ32_ASZ16_SC1(0x0070,  , tmp10) !m2 
[   200] U4e7c: SYNCFULL-> tmp10:= PORTIN_DSZ32_ASZ16_SC1(0x0074) !m2 
[     0] U4e7d:  tmp1:= SELECTCC_DSZ32_CONDNZ(tmp8, 0x00000080) 
[  2893] U4e7e:  tmp1:= OR_DSZ32(0x00000040, tmp1) SEQW GOTO U0ae6
[  2928] U5ebe: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U318c) SEQW GOTO U2711
[  2935] U5eba:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U3188) 
[  2951] U5eb8:  tmp1:= SUB_DSZ32(0x0000004e, tmp8) 
[     0] U5eb9:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp8, U4586) 
[  2952] U5ebc:  tmp1:= SUB_DSZ32(0x0000004f, tmp8) 
[     0] U5ebd:  tmp2:= ZEROEXT_DSZ32(0x00008418) 
[  2960] U2710:  MOVETOCREG_DSZ64( , 0x00000000, 0x065) !m2 
generate_#GP:
[     0] U2711: LFNCEMARK-> SIGEVENT( , 0x000000f5) SEQW GOTO U079d
[  2963] U201a:  tmp13:= AND_DSZ32(0x000000fc, tmp6) 
[  2964] U1d48:  tmp13:= MOVEFROMCREG_DSZ64( , 0x701) 
[     0] U1d49: LFNCEWAIT-> MOVETOCREG_BTR_DSZ64(tmp13, 0x0000000e, 0x701) !m0 
[  2964] U5e5c:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp13, U5e5d) SEQW GOTO U040c
[     0] U5e5d: SYNCMARK-> UFLOWCTRL( , tmp14, URET1) 
[  2967] U040e:  tmp9:= SELECTCC_DSZ32_CONDB(tmp9, 0x00010000) SEQW GOTO U18d6
[     0] U18d5:  tmp13:= MOVEFROMCREG_DSZ64( , 0x000) 
[  2969] U18d6:  tmp15:= READUIP_REGOVR(0x01) !m0 
[  2971] U18da:  tmp15:= SUB_DSZ32(0x00000001, tmp15) 
[  2972] U201e:  tmp15:= NOTAND_DSZ32(tmp15, 0x00010000) SEQW GOTO U5e5a
[  2973] U2018:  tmp6:= MOVEFROMCREG_DSZ64( , 0x00c) 
[     0] U2019:  tmp14:= SAVEUIP(0x01, U1d44) !m0 
[  2974] U18dc:  tmp15:= SUB_DSZ32(0x0000003d, tmp15) 
[     0] U18dd: LFNCEWTMRK-> UJMPCC_DIRECT_NOTTAKEN_CONDBE(tmp15, U37f4) SEQW URET1
[  2974] U1d44:  tmp7:= MOVEFROMCREG_DSZ64( , 0x004) 
[     0] U1d45:  tmp14:= ZEROEXT_DSZ32(tmp13) 
[     0] U5e59:  PORTOUT_DSZ32_ASZ16_SC1(0x0040,  , 0x00000000) !m2 SEQW GOTO U06c6
[  2979] U5e5a:  tmp13:= OR_DSZ32(tmp15, tmp13) 
[  2982] U201c:  tmp13:= SUB_DSZ32(0x00000014, tmp13) 
[     0] U201d:  tmp15:= MOVEFROMCREG_DSZ64( , 0x701) 
[  2984] U1d46:  tmp0:= ZEROEXT_DSZ32(tmp11) 
[  2987] U1d4a:  MOVETOCREG_BTR_DSZ64(tmp7, 0x00000005, 0x004) 
[  2993] U1d4c:  tmp10:= MOVEFROMCREG_DSZ64( , 0x7fe) 
[     0] U1d4d:  tmp10:= READAFLAGS( , tmp10) !m2 SEQW SAVEUIP0 U1d4eSEQW GOTO U694e
[  2994] U18d8:  tmp14:= CONCAT_DSZ32(tmp14, tmp15) 
[     0] U18d9:  tmp15:= AND_DSZ32(0x0000003f, tmp13) 
[  2996] U6958:  tmp4:= MOVEINSERTFLGS_DSZ64(tmp1, tmp4) 
[     0] U6959:  tmp2:= MOVEINSERTFLGS_DSZ64(tmp1, tmp2) 
FUN_ucode_0006960:
[  2996] U6960:  tmp2:= AND_DSZ32(0x000000fc, tmp6) 
[     0] U6961:  tmp2:= SHR_DSZ32(tmp2, 0x00000002) 
[  2997] U040c:  tmp13:= MOVEFROMCREG_DSZ64( , 0x000) 
[     0] U040d:  tmp9:= BT_DSZ32(tmp13, 0x00000011) 
[  2997] U6964:  TESTUSTATE( , SYS, UST_SMM | 0x2000) !m1 ? SEQW GOTO U144c
[     0] U6965:  tmp13:= READUIP_REGOVR(0x00) 
[  2998] U6956:  tmp1:= SHL_DSZ32(tmp1, 0x00000004) 
[  2999] U6950:  tmp2:= AND_DSZ16(0xfffffffffffffffc, tmp2) 
[     0] U6951:  tmp4:= AND_DSZ32(0x00000003, tmp4) 
[  2999] U695a:  tmp3:= CMOVCC_DSZ32_CONDS(tmp4, tmp0) 
[  3000] U1d4e: LFNCEMARK-> tmp8:= NOTAND_DSZ32(tmp7, 0x00000003) 
[  3000] U695c:  tmp3:= CMOVCC_DSZ32_CONDNO(tmp2, tmp3) 
[     0] U695d:  tmp1:= MOVEMERGEFLGS_DSZ32(0x00000003, tmp1) 
[  3000] U695e:  tmp1:= CMOVCC_DSZ32_CONDZ(tmp1, 0x0000000b) 
[  3001] U1d52:  tmp2:= MOVEMERGEFLGS_DSZ32(tmp2, tmp8) 
[     0] U1955:  MOVETOCREG_DSZ64(tmp8, 0x48c) !m2 SEQW GOTO U21fe
FUN_ucode_0001956:
[  3004] U1956:  tmpv1:= ZEROEXT_DSZ32(0x00000502) 
[     0] U1cbd:  TESTUSTATE( , UCODE, UST_MSLOOPCTR_NONZERO) ? SEQW GOTO U1cb2
uret1:
[  3004] U1cbe:  URET(0x01) !m0 
[  3004] U6954:  tmp4:= AND_DSZ32(0x00000001, tmp4) 
[     0] U6955:  tmp1:= AND_DSZ32(0x00000003, tmp6) 
[     0] U694d:  BTUJB_DIRECT_NOTTAKEN(tmp13, 0x00000011, U1f92) !m2 SEQW GOTO U4e84
FUN_ucode_000694e:
[  3005] U694e:  tmp4:= SHR_DSZ32(tmp14, 0x0000000d) 
[  3006] U1d58:  TESTUSTATE( , SYS, !UST_VMX_DUAL_MON | UST_VMX_GUEST) !m0,m1 ? SEQW GOTO U1d5a
[     0] U1d59: LFNCEMARK-> BTUJB_DIRECT_NOTTAKEN(tmp3, U37dc, tmp2) !m1,m2 
[  3006] U1d64:  tmp12:= MOVEFROMCREG_DSZ64( , 0x065) 
[     0] U1d65: LFNCEWAIT-> MOVETOCREG_DSZ64(tmp14, 0x000) 
[  3006] U6952:  tmp2:= OR_DSZ16(tmp4, tmp2) 
[  3009] U1958:  TESTUSTATE( , UCODE, 0x3000) ? SEQW GOTO U1cbe
[     0] U1959:  tmpv0:= READURAM( , 0x0012, 64) 
[  3009] U6962:  tmp1:= CONCAT_DSZ8(tmp1, tmp2) 
[  3010] U1d5c:  tmp4:= BTS_DSZ32(tmp4, 0x00000018) 
[     0] U1d5d:  tmp14:= AND_DSZ32(tmp4, tmp14) 
[  3010] U268a:  SAVEUIP( , 0x01, U3d65) !m0 
[  3011] U1d5a:  tmp4:= ZEROEXT_DSZ32(0x002c6000) 
[  3013] U1d56:  TESTUSTATE( , SYS, UST_SMM) !m1 ? SEQW GOTO U31e9
[  3014] U1d50:  SAVEUIP_REGOVR( , 0x01, U1d51, 0x540c) !m0 SEQW GOTO U1956
[     0] U1d51:  tmp13:= CMOVCC_DSZ32_CONDZ(tmp8, tmp13) 
[  3016] U1d5e:  tmp14:= OR_DSZ32(0x00016809, tmp14) 
[  3017] U144c:  tmp13:= TESTUSTATE(tmp3, SYS, !UST_VMX_DUAL_MON | UST_VMX_GUEST) !m0,m1 ? SEQW URET0
[     0] U144d:  tmp3:= READURAM( , 0x0014, 64) 
[  3017] U1d62:  tmp4:= MOVEFROMCREG_DSZ64( , 0x067) 
[  3022] U3d68:  tmp14:= BT_DSZ32(tmp14, 0x00000013) 
[     0] U3d69:  tmp11:= READURAM( , 0x006e, 64) 
[  3023] U1d54:  tmp2:= CMOVCC_DSZ32_CONDNZ(tmp2, 0x00000008) 
[     0] U1d55:  tmp1:= ZEROEXT_DSZ8(tmp2, tmp1) 
[  3025] U1d60:  tmp6:= CONCAT_DSZ16(tmp13, tmp6) 
[     0] U1d61:  tmp9:= OR_DSZ32(tmp9, tmp10) 
[  3026] U268c:  tmp15:= READUIP_REGOVR(0x01) !m0 
[     0] U268d:  tmp3:= MOVEFROMCREG_DSZ64( , 0x7f9, 32) !m1 
[     0] U3d65:  tmp3:= RDSEGFLD(UNK_SEG_09, UNK_FLD_0c) 
[  3026] U3d66:  tmp3:= ADD_DSZN(tmp3, tmp4) !m1 
[  3026] U3d6c:  tmp3:= CMOVCC_DSZ64_CONDB(tmp11, tmp3) 
[     0] U3d6d:  tmp14:= BT_DSZ32(tmp14, 0x00000018) 
[     0] U2685:  tmp4:= RDSEGFLD(UNK_SEG_09, UNK_FLD_0c) 
[  3027] U2686:  tmp4:= SUB_DSZN(tmp4, tmp3) !m1 
[  3027] U268e: LFNCEWTMRK-> BTUJB_DIRECT_NOTTAKEN(tmp3, 0x00000000, U2690) !m1 SEQW GOTO U1cbe
[  3030] U1d66:  tmp3:= SUB_DSZN(tmp12, tmp4) !m1 SEQW GOTO U2685
[  3030] U3d74:  tmp11:= MOVEFROMCREG_DSZ64( , 0x065) 
[     0] U3d75:  tmp11:= SELECTCC_DSZ32_CONDNZ(tmp0, tmp11) 
[  3033] U3d76:  tmp3:= SUB_DSZN(tmp11, tmp3) !m1 
[  3037] U3d72:  tmp0:= SUB_DSZ32(0x00000003, tmp2) 
[  3041] U3d70:  tmp11:= MOVEMERGEFLGS_DSZ64(tmp11, tmp14) 
[     0] U3d71:  tmp3:= CMOVCC_DSZ64_CONDB(tmp11, tmp3) 
[  3042] U2688:  tmp7:= ZEROEXT_DSZ32(0x00000025) 
[     0] U2689: LFNCEMARK-> tmp8:= MOVETOCREG_DSZ64( , 0x00000000, 0x01c) 
[  3042] U3d78: LFNCEWAIT-> MOVETOCREG_DSZ64(tmp3, 0x71a) 
[     0] U3d79:  WRITEURAM(tmp3, 0x003f, 64) 
[  3045] U3d6e:  tmp11:= READURAM( , 0x004a, 64) 
[     0] U3d89:  tmp0:= ZEROEXT_DSZ32(0x00000004) 
[  3049] U3d8a:  tmp0:= unk_204(tmp0, 0x00000003) 
[  3049] U3d8c:  MOVETOCREG_OR_DSZ64( , 0x0000000c, 0x005) 
[     0] U3d8d:  tmp3:= READURAM( , 0x001f, 64) 
[  3050] U3d9c:  tmp11:= AND_DSZ32(0x00000003, tmp11) 
[     0] U3d9d:  tmp11:= SUB_DSZ32(tmp8, tmp11) 
[  3051] U3d98:  tmp2:= ZEROEXT_DSZ16(tmp2) 
[     0] U3d99: SYNCWAIT-> tmp0:= unk_d61(tmp1) 
[  3052] U3d94:  tmp1:= SHL_DSZ32(tmp2, tmp0) 
[     0] U3d95:  tmp1:= ZEROEXT_DSZ16(tmp1) 
[  3053] U3da0:  tmp13:= MOVEFROMCREG_DSZ64( , 0x2df, 32) !m1 
[     0] U3da1:  tmp7:= SHR_DSZ64(tmp13, 0x0000002f) 
[  3053] U3da2:  tmp13:= SHL_DSZ32(tmp13, 0x00000008) 
[  3054] U3d8e:  tmp3:= NOTAND_DSZ32(0x00000007, tmp3) 
[  3054] U3d9a:  tmp11:= SHR_DSZ64(tmp0, 0x0000002d) 
[  3055] U3d7a:  MOVETOCREG_DSZ64(tmp7, 0x00b) 
[  3056] U3d96:  tmp2:= SHL_DSZ32(tmp2, 0x00000003) 
[  3058] U3da8:  tmp7:= NOTAND_DSZ32(tmp13, tmp10) 
[     0] U3da9:  tmp14:= BTR_DSZ32(tmp14, 0x0000000e) 
[  3061] U3d6a:  tmp11:= MOVEMERGEFLGS_DSZ64(tmp11, tmp14) 
[  3061] U3d9e:  UJMPCC_DIRECT_NOTTAKEN_CONDL(tmp11, U07fe) 
[  3063] U3da6:  tmp13:= NOTAND_DSZ32(tmp7, 0x00034100) 
[  3063] U3daa:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U63b0
[  3065] U3da4:  tmp7:= AND_DSZ32(tmp7, tmp13) 
[     0] U3da5:  tmp7:= AND_DSZ32(0x00000008, tmp7) 
[  3069] U63be:  tmp12:= SHR_DSZ64(tmp0, 0x00000020) 
[  3070] U63c4:  tmp8:= OR_DSZ32(tmp1, tmp8) 
[     0] U63c5: LFNCEWTMRK-> MOVETOCREG_DSZ64(tmp2, 0x7fe) SEQW GOTO U5a5a
[  3071] U3dac:  unk_e7b(tmp0, tmp1) !m1,m2 
[     0] U3dad: LFNCEMARK-> tmp3:= unk_d61(tmp1) SEQW GOTO U63b5
[  3072] U3d90:  WRITEURAM(tmp3, 0x001f, 32) 
[     0] U3d91:  TESTUSTATE( , SYS, !UST_8086_MODE) !m0,m1 ? SEQW GOTO U3d94
[  3075] U63c0:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U63c5
[     0] U63c1:  tmp11:= AND_DSZ32(0x00000007, tmp12) 
[  3078] U63b6:  tmp8:= NOTAND_DSZ32(tmp8, 0x00000200) 
[  3079] U63b4: LFNCEMARK-> UJMPCC_DIRECT_NOTTAKEN_CONDO(tmp11, tmp11) 
[     0] U63b5:  tmp8:= SHR_DSZ64(tmp0, 0x0000001f) 
[  3081] U63ba:  tmp7:= OR_DSZ32(0x00000008, tmp7) 
[  3086] U63c2:  tmp1:= SELECTCC_DSZ32_CONDZ(tmp11, 0x00000004) 
[  3088] U63b8:  tmp2:= NOTAND_DSZ32(tmp8, tmp7) 
[     0] U63b9:  tmp7:= NOTAND_DSZ32(0x0000003f, tmp14) 
[  3090] U63bc:  tmp8:= AND_DSZ32(0x00000003, tmp6) 
[     0] U63bd:  tmp8:= SELECTCC_DSZ32_CONDZ(tmp8, 0x00000001) 
[  3090] U6422: LFNCEWAIT-> MOVETOCREG_DSZ64(tmp7, 0x000) 
[  3091] U5a60:  tmp8:= MOVETOCREG_DSZ64(tmp8, 0x6c5) 
[     0] U5a61:  tmp1:= ZEROEXT_DSZ32(0x00000803, tmp8) 
[  3092] U5a5e:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U640d
[  3093] U5a5c:  tmp5:= MOVE_DSZ64(rsp, rsp) !m1 
[     0] U5a5d:  tmp13:= ZEROEXT_DSZ64(tmp0) 
[  3093] U6420:  tmp8:= SHL_DSZ64(tmp1, 0x00000018) 
[     0] U6421:  tmp8:= MOVETOCREG_OR_DSZ64(tmp8, 0x752, tmp1) 
[  3094] U4d58:  tmp12:= ZEROEXT_DSZ16(tmp13, tmp12) 
[     0] U4d59:  tmp3:= CONCAT_DSZ32(tmp3, tmp12) 
[  3097] U3af2:  tmp14:= CMOVCC_DSZ32_CONDO(tmp14, 0x00002ec6) 
[     0] U4d51: LFNCEMARK-> tmp14:= unk_e6b(tmp0, tmp2) !m1,m2 
[  3101] U4d52:  tmp8:= ZEROEXT_DSZ32(0x00002000, tmp8) 
[  3101] U6424:  MOVETOCREG_DSZ64(tmp8, 0x01b) !m2 SEQW GOTO U2bd9
[     0] U6425:  tmp15:= RDSEGFLD(SS, FLGS) 
[     0] U5a59:  TESTUSTATE( , SYS, !UST_OP_SIZE_32BIT) !m0,m1 ? SEQW GOTO U01ba
[  3102] U5a5a:  tmp2:= SHR_DSZ32(tmp0, 0x00000010) 
[  3103] U5a62:  tmp14:= SAVEUIP(0x01, U4d51) !m0 SEQW GOTO U6420
[  3104] U2bdc:  tmp1:= unk_d61(tmp2) 
[     0] U2bdd:  tmp0:= CMOVCC_DSZ64_CONDNB(tmp1, tmp0) SEQW URET1
[  3105] U3af0:  tmp3:= ZEROEXT_DSZ16(tmp13, tmp12) 
[     0] U3af1:  SAVEUIP( , 0x01, U068e) !m0 
[  3105] U3af4:  UFLOWCTRL(tmp8, tmp14, URET1) 
[     0] U3af5:  tmp7:= NOTAND_DSZ32(0x00000040, tmp7) 
FUN_ucode_0003afc:
[  3108] U3afc: LFNCEWAIT-> tmp1:= RDSEGFLD(UNK_SEG_09, LIMIT) 
[     0] U3afd:  MOVETOCREG_DSZ64(tmp1, 0x410) 
[  3108] U4d56:  tmp14:= MOVEMERGEFLGS_DSZ32(0x0000391d, tmp14) 
[  3109] U3af6:  tmp7:= OR_DSZ32(0x00000400, tmp7) 
[  3109] U3af8:  TESTUSTATE( , SYS, !UST_OP_SIZE_32BIT) !m0,m1 ? SEQW GOTO U3afc
[     0] U3af9: LFNCEWAIT-> tmp1:= RDSEGFLD(UNK_SEG_09, BASE) 
[  3109] U4d54:  tmp8:= MOVETOCREG_DSZ64(tmp8, 0x7f5) 
[     0] U4d55:  tmp15:= SHR_DSZ64(tmp0, 0x00000028) 
[  3110] U3afe:  tmp1:= ADD_DSZ32(0x00000001, tmp1) 
[  3110] U3b00: LFNCEMARK-> MOVETOCREG_DSZ64(tmp1, 0x700) SEQW URET1
[     0] U3b01:  TESTUSTATE( , SYS, 0x0800) !m1 ? SEQW GOTO U3b05
[  3112] U2bda: LFNCEWAIT-> tmp0:= unk_d61(tmp2) 
[     0] U068d:  NOP 
[  3116] U068e:  URET(0x01) !m0 
[  3117] U4d5a:  MOVETOCREG_DSZ64( , 0x00000000, 0x78e) SEQW GOTO U3af1
FUN_ucode_0002bd8:
[  3122] U2bd8:  AETTRACE( , 0x08, IMM_MACRO_ALIAS_INSTRUCTION) !m0 
[     0] U2bd9:  tmp14:= READUIP_REGOVR(0x01) !m0 
[  3134] U2ee2:  rsp:= SUB_DSZ64(0x00000010, rsp) 
[     0] U1ce1:  TESTUSTATE( , UCODE, !0x0008) !m0 ? SEQW GOTO U2ee5
[  3135] U1ce2:  STAD_DSZN_ASZ32_SC1(rsp, SS,  , IMM_MACRO_fb, mode=0x0a, tmp9) !m0,m1 
[  3137] U391c: LFNCEWTMRK-> unk_256() !m1 SEQW URET1
[     0] U391d:  BTUJB_DIRECT_NOTTAKEN(tmp10, 0x00000011, U07fe) 
[  3140] U1ce6:  STAD_DSZN_ASZ32_SC1(rsp, SS,  , IMM_MACRO_eb, mode=0x0a, tmp4) !m0,m1 
[  3141] U1ce8:  rsp:= SUB_DSZN(IMM_MACRO_1b, rsp) !m0,m1 
[     0] U1ce9:  TESTUSTATE( , UCODE, 0x0004) ? SEQW GOTO U1cee
[  3141] U1cea:  tmp1:= SHR_DSZ32(tmp6, 0x00000010) 
[  3141] U391e:  TESTUSTATE( , UCODE, !0x0008) !m0 ? SEQW GOTO U2ee5
[  3142] U1cf6:  tmp1:= BTR_DSZ64(tmp1, 0x0000002e) 
[  3142] U3928:  rsp:= AND_DSZN(0xfffffffffffffff0, rsp) !m1 
[     0] U3929:  tmp8:= RDSEGFLD(SS, SEL) SEQW GOTO U2ee0
[  3145] U1cee: LFNCEMARK-> unk_de3(tmp3) 
[  3145] U3dec: LFNCEWAIT-> FETCHFROMEIP1_ASZ64( , tmp3) !m1 
[     0] U3ded:  tmp4:= RDSEGFLD(UNK_SEG_09, SEL+FLGS+LIM) 
[  3147] U1cfe:  tmp0:= READURAM( , 0x003f, 64) 
[  3148] U1d00:  AETTRACE( , tmp0, 0x0c) SEQW GOTO U3dec
FUN_ucode_0001d01:
[     0] U1d01:  tmp3:= ZEROEXT_DSZ64(IMM_MACRO_ALIAS_INSTRUCTION) !m0 
[  3150] U1cec:  STAD_DSZN_ASZ32_SC1(rsp, SS,  , IMM_MACRO_fb, mode=0x0a, tmp1) !m0,m1 
[     0] U1ced:  rsp:= SUB_DSZN(IMM_MACRO_ALIAS_DATASIZE, rsp) !m0,m1 
[  3150] U2ee4:  TESTUSTATE( , UCODE, 0x0008) ? SEQW GOTO U1ce2
[     0] U2ee5: SYNCMARK-> tmp1:= RDSEGFLD(CS, SEL) 
[  3150] U3920:  TESTUSTATE( , UCODE, 0x0010) ? SEQW GOTO U3928
[     0] U3921:  tmp2:= RDSEGFLD(TSS, SEL) 
[  3152] U1cfc: LFNCEMARK-> MOVETOCREG_OR_DSZ64( , 0x00000003, 0x005) !m0 
[     0] U1cfd:  TESTUSTATE( , UCODE, 0x0400) ? SEQW GOTO U3dec
[  3154] U1cf0: LFNCEMARK-> BTUJB_DIRECT_NOTTAKEN(tmp10, 0x00000011, U01c2) 
[     0] U1cf1:  TESTUSTATE( , SYS, !UST_VMX_DUAL_MON) !m0,m1 ? SEQW GOTO U1cf5
[  3154] U1cf4: LFNCEMARK-> STADPPHYSTICKLE_DSZ64_ASZ64_SC1(0x000004a8, mode=0x01, tmp1, 0x00000000) 
[     0] U1cf5:  tmp1:= READURAM( , 0x0070, 64) 
[  3156] U1cf8: LFNCEWAIT-> MOVETOCREG_SHR_DSZ64(tmp1, 0x00000020, 0x008) 
[     0] U1cf9:  WRITEURAM(tmp1, 0x0170, 64) 
[  3159] U1ce4:  tmp1:= RDSEGFLD(CS, SEL) 
[     0] U1ce5:  STAD_DSZN_ASZ32_SC1(rsp, SS,  , IMM_MACRO_f3, mode=0x0a, tmp1) !m0,m1 
[  3160] U3df4:  WRSEGFLD(tmp4, SS, SEL+FLGS+LIM) 
[     0] U3df5:  tmp4:= RDSEGFLD(SS_USERM, BASE) 
[  3161] U3df0:  tmp4:= RDSEGFLD(UNK_SEG_09, BASE) 
[     0] U3df1:  WRSEGFLD(tmp4, CS, BASE) 
[  3162] U1cfa:  NOP 
[  3162] U3df6:  WRSEGFLD(tmp4, SS, BASE) 
[  3166] U2ee0: LFNCEWAIT-> STADPPHYS_DSZ64_ASZ64_SC1(rsp, 0xfffffffffffffff8, mode=0x0a,  , tmp8) 
[     0] U2ee1:  STADPPHYS_DSZ64_ASZ64_SC1(rsp, 0xfffffffffffffff0, mode=0x0a,  , tmp5) 
[  3168] U3df2:  tmp4:= RDSEGFLD(SS_USERM, SEL+FLGS+LIM) 
[  3175] U3df8:  rsp:= ZEROEXT_DSZ64N(rsp) !m1 
[     0] U3df9: MSSTOP-> MJMPTARGET_INDIRECT_ASZ64( , tmp3) !m1 
[  3176] U3dfc:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp0, U06e6) 
[     0] U3dfd: LFNCEWAIT-> NOP SEQW UEND3
check_cpl_uend3:
[  3177] U3dfa:  tmp0:= PSELECT_CPL0( , 0x00000001) 
[  3183] U3dee:  WRSEGFLD(tmp4, CS, SEL+FLGS+LIM) 
[  3184] U09b6:  tmp2:= OR_DSZ32(0x00000010, tmp2) SEQW GOTO U081e
[  3187] U09b0:  tmp2:= unk_00f(0x00000008) 
[     0] U09b1:  tmp1:= unk_20c( , 0x00000001) 
[     0] U081d:  SAVEUIP( , 0x01, U688d) !m0 SEQW GOTO U1d8e
[  3197] U081e: LFNCEMARK-> unk_25e( , tmp2) SEQW UEND0
[  3199] U09b2:  tmp3:= unk_20d( , tmp1) 
[  3209] U09b4:  CMPUJZ_DIRECT_NOTTAKEN(tmp3, 0x00000001, U2711) !m1 
[     0] U09b5:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U2791) 
[  3213] U07c8:  tmp4:= MOVE_DSZ32(IMM_MACRO_ALIAS_RIP) !m0 
[     0] U07c9: LFNCEMARK-> AETTRACE( , 0x08, IMM_MACRO_ALIAS_INSTRUCTION) !m0 
[     0] U5f89:  unk_154( , tmp3) SEQW URET1
[  3215] U5f8a:  tmp12:= TESTUSTATE( , SYS, !UST_SMM) !m0,m1 ? SEQW GOTO U408c
[     0] U1f61:  tmp6:= SUB_DSZ32(0x00000008, tmp6) SEQW GOTO U1f5d
[  3220] U1f62:  tmp9:= ZEROEXT_DSZ8N(IMM_MACRO_1b) !m0,m1 
[  3222] U1f64: LFNCEWAIT-> tmp0:= READURAM( , 0x0070, 64) 
[     0] U1f65:  tmp7:= TESTUSTATE( , SYS, !UST_VMX_DUAL_MON | UST_VMX_GUEST) !m0,m1 ? SEQW GOTO U6284
[  3224] U07cc:  tmp1:= ZEROEXT_DSZ32(0x00000301) SEQW GOTO U5f8a
[     0] U07cd:  rax:= ZEROEXT_DSZ32() 
[  3230] U408c:  NOP SEQW GOTO U38c9
[     0] U408d:  NOP 
[  3238] U07ca:  tmp10:= READAFLAGS() !m2 
[  3245] U6284:  TESTUSTATE( , VMX, !0x0002) !m0,m2 ? SEQW GOTO U6288
[     0] U6285: LFNCEWAIT-> tmp1:= MOVETOCREG_BTR_DSZ64(tmp0, 0x0000000a, 0x2c4) !m0,m1 
[  3245] U6288:  WRITEURAM(tmp0, 0x000a, 32) !m2 
[     0] U6289: LFNCEWAIT-> tmp0:= MOVEFROMCREG_DSZ64( , 0x7fe) 
[  3246] U6286:  WRITEURAM(tmp1, 0x0070, 64) !m2 
[  3248] U3c18:  tmp7:= AND_DSZ32(tmp5, tmp7) 
[     0] U3c19:  tmp5:= NOTAND_DSZ32(tmp5, tmp10) 
[  3251] U3c04:  TESTUSTATE( , SYS, !UST_USER_MODE) !m0,m1 ? SEQW GOTO U3c08
[     0] U3c05:  tmp5:= unk_20d(0x00000200) 
[  3252] U3c02:  tmp5:= ZEROEXT_DSZ32N(0x003f7700) !m1 
[  3252] U628a:  MOVETOCREG_OR_DSZ64( , 0x00000002, 0x6c5) !m0 
[     0] U3c15:  tmp7:= OR_DSZ32(tmp7, tmp0) 
[  3253] U3c16:  unk_13f(tmp7) !m2 
[  3254] U3c08:  TESTUSTATE( , SYS, !UST_8086_MODE) !m0,m1 ? SEQW GOTO U3c16
[     0] U3c09:  tmp5:= unk_203(0x00257700, tmp5) 
[  3255] U628e:  TESTUSTATE( , SYS, !UST_8086_MODE) !m0,m1 ? SEQW GOTO U3bfd
[     0] U3bfd: LFNCEMARK-> BTUJB_DIRECT_NOTTAKEN(tmp0, 0x0000000e, U5fb4) !m0,m2 
[  3256] U3bfe:  tmp7:= LDZX_DSZN_ASZ32_SC1(rsp, SS, IMM_MACRO_13, mode=0x0a) !m0,m1 
[  3258] U3c00:  tmp2:= LDZX_DSZ16_ASZ32_SC1(rsp, SS, IMM_MACRO_ALIAS_DATASIZE, mode=0x0a) !m0 
[     0] U3c01: LFNCEMARK-> tmp3:= LDZX_DSZN_ASZ32_SC1(rsp, SS, mode=0x0a) !m1 
[  3258] U3c1a:  tmp7:= OR_DSZ32(tmp5, tmp7) 
[  3258] U3c1e: LFNCEWAIT-> MOVETOCREG_BTR_DSZ64(tmp7, 0x00000011, 0x7fe) 
[  3263] U3c1c:  tmp13:= SAVEUIP(0x00, U0ea1) 
[     0] U3c1d:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U5ef0
[  3263] U628c:  tmp10:= OR_DSZ32(tmp0, tmp10) 
[     0] U628d:  MOVETOCREG_DSZ64(0x00000016, 0x000) 
[  3270] U3c20:  tmp14:= SAVEUIP(0x01, U33fe) !m0 SEQW GOTO U2bd9
[     0] U3c21:  tmp9:= ZEROEXT_DSZ32(0x0000010a) 
[     0] U33fd: MSLOOP-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp4, U0465) SEQW GOTO U33f8
[  3271] U33fe: LFNCEMARK-> tmp1:= unk_e6b(tmp0, tmp2) !m1,m2 
[     0] U3d49:  TESTUSTATE( , UCODE, !0x0008) !m0 ? SEQW GOTO U3404
[  3272] U3d4a:  tmp5:= MOVE_DSZ64(rsp, rsp) !m1 
[  3274] U3404:  tmp6:= MOVETOCREG_DSZ64(0x00000017, 0x000) !m2 SEQW GOTO U3d4a
[     0] U3405:  rsp:= ZEROEXT_DSZ8N(rsp, tmp5) !m1 
[  3274] U3d4c:  rsp:= ADD_DSZN(tmp9, rsp) !m1 
[     0] U3d4d:  tmp2:= LDZX_DSZ16_ASZ32_SC1(rsp, SS, IMM_MACRO_ALIAS_DATASIZE, mode=0x0a) !m0 
[  3277] U3d4e: LFNCEMARK-> rsp:= LDZX_DSZN_ASZ32_SC1(rsp, SS, mode=0x0a) !m1 
[  3282] U3400: LFNCEMARK-> UJMPCC_DIRECT_NOTTAKEN_CONDO(tmp1, tmp1) 
[     0] U3401:  TESTUSTATE( , SYS, UST_ADDR_SIZE_64BIT) !m1 ? SEQW GOTO U0095
[  3283] U3402:  tmp11:= MOVEFROMCREG_DSZ64( , 0x79e) 
[  3286] U3d50: LFNCEMARK-> MOVETOCREG_DSZ64(tmp11, 0x79e) !m2 
[     0] U3d51:  tmp14:= SAVEUIP(0x01, U398e) !m0 SEQW GOTO U2bd9
[     0] U398d:  BTUJNB_DIRECT_NOTTAKEN(tmp1, 0x00000001, U035a) SEQW GOTO U1b0c
[  3297] U398e: LFNCEWAIT-> tmp1:= RDSEGFLD(UNK_SEG_09, FLGS) 
[  3301] U3990: LFNCEWAIT-> MOVETOCREG_DSZ64(tmp1, 0x7f5) !m2 
[     0] U3991:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U0ea2
[     0] U0ea1:  SAVEUIP( , 0x01, U3dea) !m0 SEQW GOTO U1871
[  3309] U0ea2:  MOVETOCREG_DSZ64(tmp6, 0x000) !m2 
[  3309] U3992:  tmp14:= SAVEUIP(0x01, U0ea2) !m0 
[  3309] U3998:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp11, tmp14) SEQW URET1
[     0] U3999:  TESTUSTATE( , SYS, !UST_OP_SIZE_32BIT) !m0,m1 ? SEQW GOTO U0092
[  3311] U0ea4:  tmp14:= SAVEUIP(0x01, U3006) !m0 
[     0] U0ea5:  TESTUSTATE( , SYS, UST_OP_SIZE_32BIT) !m1 ? SEQW GOTO U184d
[  3318] U0ea6: LFNCEWTMRK-> unk_e7b(tmp0, tmp2) !m1,m2 
[  3322] U0ea8: LFNCEWAIT-> tmp1:= RDSEGFLD(SS_USERM, FLGS) SEQW GOTO U1850
[     0] U0ea9:  tmp2:= READURAM( , 0x005c, 64) 
[  3324] U3996:  tmp11:= AND_DSZ32(0x00002000, tmp11) 
[  3326] U3994:  tmp11:= RDSEGFLD(CS, FLGS) 
[     0] U3995:  tmp11:= XOR_DSZ32(tmp1, tmp11) 
[  3345] U1852:  tmp11:= RDSEGFLD(SS, FLGS) 
[  3346] U1850:  LEA_DSZ8_ASZ32_SC1(tmp3) 
[     0] U1851:  MOVETOCREG_DSZ64(tmp1, 0x73c) !m2 
[  3352] U1876:  tmp11:= RDSEGFLD(UNK_SEG_09, UNK_FLD_0c) 
[     0] U3005:  tmp5:= ZEROEXT_DSZ32N(tmp5) !m1 SEQW GOTO U2e2a
[  3354] U3006:  rsp:= ZEROEXT_DSZ8N(rsp, tmp5) !m1 SEQW URET0
[  3364] U1870:  TESTUSTATE( , UCODE, !0x0008) !m0 ? SEQW GOTO U0ea1
[     0] U1871: LFNCEWAIT-> tmp11:= RDSEGFLD(UNK_SEG_09, LIMIT) 
[  3369] U1872:  MOVETOCREG_DSZ64(tmp11, 0x410) 
[  3370] U1854:  tmp11:= XOR_DSZ32(tmp11, tmp1) 
[     0] U1855:  tmp11:= AND_DSZ32(0x00004000, tmp11) SEQW GOTO U3998
[  3371] U1878: LFNCEMARK-> MOVETOCREG_DSZ64(tmp11, 0x78e) SEQW URET1
[     0] U1879:  tmp5:= ZEROEXT_DSZ32(0x0000187c) 
[  3373] U1874:  tmp11:= ADD_DSZ32(0x00000001, tmp11) 
[     0] U1875:  MOVETOCREG_DSZ64(tmp11, 0x700) 
