
[../../libraries/ucode_collection/cpu506F1_plat01_ver00000036_2021-05-10_PRD_60ADB6C8.bin]
    CPU: 0x506f1
    size: 0x28c0
    rev: 0x36
    VCN: 0x4
    release date: 2021-05-10
    compilation date: 2021-05-07
    RC4 nonce: ea5cbaef77b4d646cd00396382eca65fbc84b227da8d7b83d81b8f3aaa1f9bbd
    RSA mod: 0xae2a7dc528d6cda6f4938917c8c6461caaedbe654d8eb00bfbebd9ff303908c80588b3ed3e2f5dd7e96d314e7d6d2bde2abf2dbd936e22fbaaa883b684196c817373e9cc17fdc1b5867a61ad64fc244ce8e80015d1bbc1305e642ede71405d057949fc8512a6672b7070b208988a8cea7a15bea945335b5600b5bd8d5f83eedca55a72be22a9adf120448e6f94fc6bbbce97cfdfaf4091a44b79da06aced6645c4c019f2ebf33aee99da4ba046a18705198a7826cd3768fab61be50b92843431c6d061e3cb5082792b8ca24d433f1af90fc9ea2f7c7b24236f20b8d502f3c1409af9139a48498cbbace88a6c7ab0a8d37d6413a0d8779cb0023d3531d727a3b1
    RSA exp: 17
    RSA sig: a51d71c6cdb6342c32e4248ff3f557bed955ae17c7bbdd8fb8acdd1af813d11eb62b60cf895c5d4a1d873725f0717fdcedafa150406a5cafd45a33093a0c2980258516c7bab409bfca3cbc150f2ed24a14301a66b577b7f77356f0882f3e9f46c785b1b3147fccfa624ee440f8604b05665385e1e4e354ca8ff620fe1aeb16e39a4ad8d7a41e66f6cab88aecbd9128abc46c869d17a795ec6142069a6412b2b0561a315988c6c5e6e5d57d7fce17e0101d953f41ae45d9cc15bfca3138490c8a0e821b34f297170d16da4844d15809935581f438a3d64ae12d1ed381d4daf0875df849e60375810335442effb0f958e453ab8dc26a75a77cee2fde5f6a943400
    plain sig: 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006b8d84b5de7161ef4f561de5783d47c6809b0bc1ce847e127e9486bceacbc315

UCODE:
[0000] initialize arrays
[0001] install addr: 0x7c00 - size 0x0048
    [ed4b883f000a] U7c00:  tmp0:= PORTIN_DSZ64_ASZ16_SC1(0x4f88) !m2 
    [8047010b0c08] U7c01:  tmp0:= NOTAND_DSZ64(0x00000201, tmp0) 
    [ad4f883f000a] U7c02:  PORTOUT_DSZ64_ASZ16_SC1(0x4f88,  , tmp0) !m2 SEQW GOTO U1f96
      [019f9680]
    [10622a0b0240] U7c04:  tmp0:= MOVEFROMCREG_DSZ64( , 0x22a, 32) !m1 
    [286b967c02b0] U7c05:  BTUJNB_DIRECT_NOTTAKEN(tmp0, 0x00000009, U1f96) !m2 
    [206353030200] U7c06:  tmp0:= READURAM( , 0x0053, 64) !m2 
      [300000c0]
    [686b96bc0230] U7c08:  BTUJNB_DIRECT_NOTTAKEN(tmp0, 0x00000002, U1f96) !m0,m2 
    [50628e0f1240] U7c09:  tmp1:= MOVEFROMCREG_DSZ64( , 0x38e, 32) !m1 
    [004415031c50] U7c0a:  tmp1:= AND_DSZ64(0x00000800, tmp1) 
      [300000c0]
    [d062ff0f0240] U7c0c:  tmp0:= MOVEFROMCREG_DSZ64( , 0x3ff, 32) !m1 
    [400402030c08] U7c0d:  tmp0:= AND_DSZ32(0x00000002, tmp0) 
    [402501030230] U7c0e:  tmp0:= SHR_DSZ32(tmp0, 0x00000001) 
      [300000c0]
    [413000020c31] U7c10:  rax:= SELECTCC_DSZ32_CONDZ(tmp1, tmp0) 
    [c13ed3070c50] U7c11:  tmp0:= MOVEMERGEFLGS_DSZ32(0x50000000, tmp1) 
    [413400030830] U7c12:  tmp0:= CMOVCC_DSZ32_CONDZ(tmp0, rax) 
      [300000c0]
    [c0217a570c09] U7c14:  tmp0:= CONCAT_DSZ32(0x0000357a, tmp0) 
    [7042c0080270] U7c15:  MOVETOCREG_DSZ64(tmp0, 0x2c0, 32) !m1,m2 SEQW GOTO U1f96
    [40624d1fa200] U7c16:  tmp10:= MOVEFROMCREG_DSZ64( , 0x74d) 
      [319f9640]
    [00623c1b9200] U7c18:  tmp9:= MOVEFROMCREG_DSZ64( , 0x63c) 
    [40010003aeb9] U7c19:  tmp10:= OR_DSZ32(tmp9, tmp10) 
    [81511c7002fa] U7c1a:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp10, U7c1c) SEQW GOTO U1f96
      [019f9680]
    [80620607a200] U7c1c:  tmp10:= MOVEFROMCREG_DSZ64( , 0x106) 
    [c962064403ba] U7c1d: SYNCFULL-> MOVETOCREG_BTS_DSZ64(tmp10, 0x00000019, 0x106) SEQW GOTO U1f96
    [806335030200] U7c1e:  tmp0:= READURAM( , 0x0035, 64) 
      [089f9640]
    [40650a030230] U7c20:  tmp0:= SHR_DSZ64(tmp0, 0x0000000a) 
    [800401030c08] U7c21:  tmp0:= AND_DSZ32(0x00000001, tmp0) 
    [2d4b481b900a] U7c22:  tmp9:= PORTIN_DSZ64_ASZ16_SC1(0x4648) !m2 
      [300000c0]
    [80652b039239] U7c24:  tmp9:= SHR_DSZ64(tmp9, 0x0000002b) 
    [000403039e48] U7c25:  tmp9:= AND_DSZ32(0x00000003, tmp9) 
    [813002039239] U7c26:  tmp9:= SELECTCC_DSZ32_CONDZ(tmp9, 0x00000002) 
      [300000c0]
    [004100030c39] U7c28:  tmp0:= OR_DSZ64(tmp9, tmp0) 
    [40437f000230] U7c29:  WRITEURAM(tmp0, 0x007f, 64) SEQW GOTO U1f96
    [80a10f1b1008] U7c2a:  tmp1:= CONCAT_DSZ16(0x0000060f) 
      [319f9640]
    [000103031231] U7c2c:  tmp1:= OR_DSZ32(tmp1, 0x00000003) 
    [406320032200] U7c2d:  tmp2:= READURAM( , 0x0020, 64) 
    [00e146032232] U7c2e:  tmp2:= CONCAT_DSZ8(tmp2, 0x00000046) 
      [300000c0]
    [c06430032232] U7c30:  tmp2:= SHL_DSZ64(tmp2, 0x00000030) 
    [c041847b2c8f] U7c31:  tmp2:= OR_DSZ64(0x0000fe84, tmp2) 
    [c00d21400240] U7c32:  SAVEUIP_REGOVR( , 0x00, U7c34, 0x3021) SEQW GOTO U60a9
      [11e0a980]
    [8004003f1c08] U7c34:  tmp1:= AND_DSZ32(0x00000f00, tmp0) 
    [01503c7002f1] U7c35: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U7c3c) 
    [c02407031231] U7c36:  tmp1:= SHL_DSZ32(tmp1, 0x00000007) 
      [388000c0]
    [006202032200] U7c38:  tmp2:= MOVEFROMCREG_DSZ64( , 0x002) 
    [4047a3032c90] U7c39:  tmp2:= NOTAND_DSZ64(0x0007c000, tmp2) 
    [090202000c72] U7c3a: SYNCFULL-> MOVETOCREG_OR_DSZ64(tmp2, 0x002, tmp1) 
      [090000c0]
    [000400431c0b] U7c3c:  tmp1:= AND_DSZ32(0x00007000, tmp0) 
    [402403032231] U7c3d:  tmp2:= SHL_DSZ32(tmp1, 0x00000003) 
    [000100031c72] U7c3e:  tmp1:= OR_DSZ32(tmp2, tmp1) 
      [300000c0]
    [402406032231] U7c40:  tmp2:= SHL_DSZ32(tmp1, 0x00000006) 
    [000100031c72] U7c41:  tmp1:= OR_DSZ32(tmp2, tmp1) 
    [00250c032231] U7c42:  tmp2:= SHR_DSZ32(tmp1, 0x0000000c) 
      [300000c0]
    [000100031c72] U7c44:  tmp1:= OR_DSZ32(tmp2, tmp1) 
    [5062320b2240] U7c45:  tmp2:= MOVEFROMCREG_DSZ64( , 0x232, 32) !m1 
    [402100032cb1] U7c46:  tmp2:= CONCAT_DSZ32(tmp1, tmp2) 
      [300000c0]
    [20431c040232] U7c48:  WRITEURAM(tmp2, 0x011c, 64) !m2 
    [d04232080272] U7c49: SYNCFULL-> MOVETOCREG_DSZ64(tmp2, 0x232, 32) !m1 SEQW GOTO U1f96
    [000000000000] U7c4a:  NOP 
      [089f9640]
    [100a00000380] U7c4c:  TESTUSTATE( , SYS, 0xc000) !m1 ? SEQW GOTO U1f96
    [206353030200] U7c4d:  tmp0:= READURAM( , 0x0053, 64) !m2 
    [686b96bc0230] U7c4e:  BTUJNB_DIRECT_NOTTAKEN(tmp0, 0x00000002, U1f96) !m0,m2 
      [219f9600]
    [ad0b0813000c] U7c50:  tmp0:= PORTIN_DSZ32_ASZ16_SC1(0x8408) !m2 
    [402510030230] U7c51:  tmp0:= SHR_DSZ32(tmp0, 0x00000010) 
    [0151967c0230] U7c52: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp0, U1f96) 
      [090000c0]
    [40a10f070008] U7c54:  tmp0:= CONCAT_DSZ16(0x0000010f) 
    [c00105030c08] U7c55:  tmp0:= OR_DSZ32(0x00000005, tmp0) 
    [4008887f100f] U7c56:  tmp1:= ZEROEXT_DSZ32(0x0000ff88) 
      [300000c0]
    [406429031231] U7c58:  tmp1:= SHL_DSZ64(tmp1, 0x00000029) 
    [0041ff1f1c48] U7c59:  tmp1:= OR_DSZ64(0x000007ff, tmp1) 
    [806407031231] U7c5a:  tmp1:= SHL_DSZ64(tmp1, 0x00000007) 
      [300000c0]
    [404d10cb2240] U7c5c:  tmp2:= unk_04d( , IMM_MACRO_ALIAS_INSTRUCTION) !m0 
    [000c967c0200] U7c5d:  SAVEUIP( , 0x00, U1f96) SEQW GOTO U0d01
    [000000000000] U7c5e:  NOP 
      [118d0140]
[0246] invoke addr: 0x7c2a
[0249] invoke addr: 0x7c04
[024c] invoke addr: 0x7c16
[024f] invoke addr: 0x7c4c
[0252] invoke addr: 0x7c00
[0255] invoke addr: 0x7c1e
[0258] initialize arrays
[0259] write match & patch - size: 0x0002
    [0000000000000000]
    [000000003e005c97] 0x5c96 -> 0x7c00
[026c] install addr: 0x7c00 - size 0x0003
  <match & patch: 0x5c96 -> 0x7c00>
    [400546030c90] U7c00:  tmp0:= SUB_DSZ32(0x0000ffff, tmp2) 
    [4150967c0230] U7c01:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp0, U1f96) 
    [2928963c0032] U7c02: SYNCFULL-> CMPUJZ_DIRECT_NOTTAKEN(tmp2, 0x00000000, U1f96) !m2 SEQW GOTO U5c99
      [295c9980]
[0289] write crbus - size: 0x0001
    crbus[0x0692] = (crbus[0x0692] & 0xfffffffffffffffe) | 0x0
[02a0] if TESTUSTATE( , SYS, !0xc000) skip to 0x1b79
[02a5] if send_op_pcu_mailbox(0x1, 0x0036) skip to 0x1b79
[02ae] send_op_pcu_mailboxes - size: 0x0002
    send_op_pcu_mailbox(0x7, 0000 | (0000 & send_op_pcu_mailbox(0x5, 5ce8)))
    send_op_pcu_mailbox(0x7, 0036 | (0000 & send_op_pcu_mailbox(0x5, 007c)))
[02c5] send_op_pcu_mailbox(0x02, 0x0000)
[02cb] send_op_pcu_mailbox(0xf, ??)
[02cc] portout(0x4910, 0x40, 0x0b80)
    80008a198000447c
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000e55437a630c0
    000000000000651a
    0001a80400000000
    0001a82c00000000
    0000000000000000
    000000000001a820
    0001a81e0001a81c
    000000000001a81a
    0000000000000000
    0001a81800000000
    0001a82a00000000
    0001a80000000000
    0000000000000000
[03bb] portout(0x4910, 0x40, 0x0d00)
    8565dc668406dc66
[03ca] portout(0x4910, 0x40, 0x0d28)
    09725c5a9513a824
    8747dc658740dc65
    8757dc658751dc65
    875ddc65875ddc65
    0aceb3aceb372571
    878cdc658785dc65
    8790dc658790dc65
    8790dc658790dc65
[0411] portout(0x4910, 0x40, 0x0d40)
    0701c0701c070161
    87a4dc65879adc65
    87a4dc6587a4dc65
    87a4dc6587a4dc65
    09ea7a9ea7a9e98c
    87b4dc6587aadc65
    87b4dc6587b4dc65
    87b4dc6587b4dc65
[0458] portout(0x4910, 0x40, 0x0d54)
    01e0761984f1241b
    87cddc6587c4dc65
    87d5dc6587d1dc65
    8400dc6687f7dc65
    05c1705c1705c170
    840fdc66840fdc66
    840fdc66840fdc66
    840fdc66840fdc66
[049f] portout(0x4910, 0x40, 0x0d64)
    0294a5294a515c08
    841edc668418dc66
    8422dc668422dc66
    8422dc668422dc66
[04c6] portout(0x4910, 0x40, 0x0d6c)
    0b1ec7b1ec7b1e0f
    8452dc668431dc66
    8452dc668452dc66
    8452dc668452dc66
    024c9324c9324c93
    8457dc668457dc66
    8457dc668457dc66
    8457dc668457dc66
    03d0f43d0f43d087
    8466dc668459dc66
    8466dc668466dc66
    8466dc668466dc66
    015c5715c5715c57
    84e1dc6684e1dc66
    84e1dc6684e1dc66
    84e1dc6684e1dc66
[054d] portout(0x4910, 0x40, 0x0d80)
    00ec3b0ec3b0ec3b
    84e5dc6684e5dc66
    84e5dc6684e5dc66
    84e5dc6684e5dc66
    0150541505415003
    84f6dc6684f0dc66
    84f6dc6684f6dc66
    84f6dc6684f6dc66
[0594] portout(0x4910, 0x40, 0x0d98)
    0739612e44a0c023
    8539dc668529dc66
    8550dc668546dc66
    8561dc668559dc66
[05bb] portout(0x4910, 0x40, 0x0da0)
    03b8ee3b8ee2ac02
    8577dc66856adc66
    857ddc66857ddc66
    857ddc66857ddc66
[05e2] portout(0x4910, 0x40, 0x0da8)
    048521485211c438
    858bdc668584dc66
    858fdc66858fdc66
    858fdc66858fdc66
[0609] portout(0x4910, 0x40, 0x0db0)
    08ae2b8ae2b04005
    859bdc668591dc66
    85a5dc6685a5dc66
    85a5dc6685a5dc66
[0630] portout(0x4910, 0x40, 0x0db8)
    09e2789e2789e278
    85addc6685addc66
    85addc6685addc66
    85addc6685addc66
[0657] portout(0x4910, 0x40, 0x0dc4)
    0100401004002c00
    85c1dc6685b5dc66
    85cadc6685cadc66
    85cadc6685cadc66
    00c8320c8320c832
    85d5dc6685d5dc66
    85d5dc6685d5dc66
    85d5dc6685d5dc66
    00ac2b0ac2b0ac1f
    85e5dc6685dddc66
    85e5dc6685e5dc66
    85e5dc6685e5dc66
    8c2ddc06300fcc4f
    0a5f8425dc06cc06
    538a588af7ffe28f
    dc060a6af5ea501a
    dc06ea0fc82f84eb
    c82f8553dc06a568
    dc06a57cdc06ea0f
    528f9767ac0e856c
    f8bf8b67f1ef518f
    0aeef6fbf6f6a767
    0afcb031cc4e8f83
    e59ce19cb0d9cc07
    938309cfe58fe18f
    8b830afcb030cc4e
    09fbe06fb175cc0a
    af1ff6cfe07c9f83
    dc06f6f69b83f8bf
    dc07300fcc4f8665
    8572dc07cc078d76
    85cadc075009e618
    dc0354ab8b97c80f
    cc0a86b5dc0780a0
    a3a1ead986b4dc07
    dc0c0af9af8fb629
    8562dc0ce0898563
    b19acc118475dc79
    3009cc4f85c1dc0c
    b81f201fb01f8bb0
    858ddc0d7380cc07
    b01f8bc03009cc4f
    868bdc0dcc078bbc
    8183dc75b81fb01c
    867bdc0d5016cc07
    500d7219cc4e328d
    dc11500dcc03723d
    dc1109fa0e4f841c
    dc1109fa0e4f844a
    720a71efcc4e8450
    f2ef518f5d8f71f8
    588f0af90e4ffa7f
    fa7ff2ef501f538f
    0d9a0aa8321a0e4f
    09fa8bf1098a0dfa
    8ff1099ae63d8fee
    31f8320a31efe62d
    cc4e8467dc1109fa
    dc11e62d723f504f
    0000000000008477
    e63d723f508fcc4e
    e82fcc4e8479dc11
    cc03ffcf323ce83f
    cc4f847ddc11fe8f
    85c0dc128814300e
    8571dc120afecc0d
    57ff881c300ccc4f
    220b5309840ddc15
    300ccc4f8458dc15
    b9660adfcc02882d
    dc75b81acc4f0a9f
    dc15b545cc028037
    884f3387cc4d84a6
    336533498c39b0e4
    0f7b33753359843b
    dc1705d7a84f087d
    05df338fa03c81f8
    0adb0a5a5048738f
    04b650068257dc17
    cc13843c8272dc17
    cc04e85c8610dc17
    dc7a86cadc1772dc
    300fcc4fb07c8430
    5008500750068861
    b87ccc160a6f5009
    8030dc7a8488dc19
    5583590355875a07
    558b5ecb558c5d4c
    55845a8455855b85
    509f330d558256c2
    d17f5d8f500f510f
    f2670561a8df0816
    e33f0afef06a0af9
    af890cf9f567af8f
    aedf0aef0af8f063
    f062aed80cf8f363
    20185008ee2ffcf8
    a89be17ffcf8f165
    5018849ef7f8e298
    fb9ff0642018e1f8
    90aaf6f890a6e09f
    a4aaf6f884aa5008
    8ccef16c20185008
    b62984b0b62aee26
    529e131fee3faf8f
    0af284ceee16faef
    0a8e81eddc190a9e
    e2cea8c2e14ffcfe
    501f500f84c7f7ef
    31ae84b90a9ef6f9
    b543cc02f8f2fcfe
    e13ffcf8cc160e2f
    e06ffcd8f7f8e2d8
    f68ff06bf7f8e3a8
    d19f0a6fd1aff36b
    dc19847c824fdc12
    dc1a8030dc7a856c
    88ed300fcc4f8461
    cc4ff2d73547cc02
    843cdc1ccc02b819
    cc05bf1de60fb71d
    53290af68404dc1d
    f0d7086d80b8dc1d
    c58f8cf805d69cf8
    dc0f086d500c0af6
    c58f8d0205d68063
    086d80b8dc1d0af6
    0af6c58f9d09f0d7
    dc1d086880b8dc1d
    500a506a501aa86c
    524b500b50fb580a
    ff8be0a8f68a530b
    ebfc81acdc03e2a8
    dc1d8d100586a110
    8935300ccc4f846c
    35480afeb166cc02
    dc75b818cc4ff2e8
    dc22ea32cc028037
    cc02b08acc4d8424
    09f9af8fb6268942
    b9950a9f9037dc22
    300ccc4f8431dc22
    86c0dc7554de894c
    844bdc22b2b0cc02
    8956cc02300ccc4f
    dc22e672841ddc22
    f6f6b473cc4d84ba
    dc22bd15cc020a6f
    dc225287208f8562
    f6f9e50fe10f85cf
    300fcc4f861adc22
    dc248448dc24896f
    5c4a501750078049
    dc248407dc24520a
    dc24fffec58fa4ae
    8982300fcc4f84ae
    84c5dc008271dc75
    b8e8501fa588e90c
    dc768439dc2632ef
    dc2684b6dc268000
    8996b0ae72fc8523
    e01c72dce01c72ec
    b0aa840adc2872cc
    dc2889a1300fcc4f
    dc28c90fcc088447
    89aa300fcc4f8411
    dc28cc088638dc28
    101ef3e80acf862c
    dc00101ef3e80adf
    cc02300fcc4f84c5
    b995500f500989be
    dc2db1958405dc2d
    cc02b08ccc4d8401
    0ef90aef8c13dc2d
    555f540f840cdc2d
    ac0f500e8058dc03
    dc2d350f9847dc2d
    a1daea3fa1da8441
    dc2ee605a5dbea2f
    cc02b08bcc4d8434
    dc2f501f8c26dc2f
    cc02b089cc4d8420
    dc2fb0908c1ddc2f
    000000000000842c
[0c1e] portout(0x4910, 0x44, 0x0200)
    8677dc2a8000dc7a
    8015dc7a8348dc75
    8019dc7a8000dc78
    8000dc77801edc7a
    8023dc7a835cdc75
    8406dc008000dc75
    8587dc7a8452dc7a
    8595dc7a85a9dc7a
    8360dc758000dc79
    832adc7581c8dc7a
    8400dc7b86b8dc17
    84dfdc0780c6dc79
[0c85] portout(0x4910, 0x44, 0x0d00)
    8058dc03504f5a1f
    5f0f8836700fcc4f
    bc028058dc035f4f
    8058dc035f4f5c0f
    dc035f4f5d0fbc03
    5f4f5e0fbc048058
    8150bc058058dc03
    500e588e82cf816d
    501fd03e500f5c5f
    dc25812cb80dcc08
    dc758240822080c8
    524b504b57fe832a
    80a8803f8047dc15
    cc4f0f78829980d8
    cc02e872883e3009
    57ff0f7884afdc22
    f5ed507e51dd5ccd
    507e754dcc02ec0e
    534c500c508d50cd
    ec1ef3ecf0ed501c
    520c508d52cd50fe
    f3ecf0ed501c534c
    cc4d31bfcc02ec1e
    bab2cc02500f718f
    cc4f501fa4630f7a
    41ff280f5fffb81b
    773fcc0743ff42ff
    8000dc22b9d4774f
    e58de18d0afdb1cc
    501e53ce520e180d
    0adff5de31bfcc02
    cc02509d598ded5f
    501a500a0aeb754d
    0afebc07cc4f8212
    54be888d09feb403
    508c50cc507e86c0
    f0ed501d534d500d
    52cc50feec1ef3ec
    501d534d520d508c
    cc4dec1ef3ecf0ed
    cc4f71bfcc02318f
    0f78bab2cc02b01b
    705fcc4f31cfcc02
    754dcc0251dd5ccd
    b9d4cc07280f5fff
    0afdb1d48029dc1c
    520e180de58de18d
    31cfcc02501e53de
    598ded0f0adff5de
    cc4f754dcc02509d
    0aeb71cfcc02305f
    cc4f8212501a500a
    09feb4040afebc08
    0f7886c054be88d7
    507e51dd5ccd57ff
    754dcc02ec0ef5ed
    280f50026b725fff
    cc02803bb9cccc07
    500d502b0af9b545
    806fdc1880c9dc22
    e18d0afdb1cccc07
    53ee520e180de58d
    0adff5de0a9f501e
    cc02509d598ded9f
    501a500a0aeb754d
    0afebc09cc4f8212
    54be890d09feb405
    e01f507d0f7886c0
    ec3d0befa513ea8f
    500b507e0f78af8f
    44cb810e0bbf40cb
    0bbf48cb810e0bbf
    850e0bbf4ccb810e
    a529eb0fe01f507d
    0f78af0fec3d0bef
    f0ed527e528d588d
    588d52def3edaf0f
    501c53fc520c528d
    520bec1ef3ecf0ed
    82125b8a501b53fb
    b4020afebc06cc4f
    86c0549e894809fe
    f0cd527c528d588d
    0f78f3cdffefe10e
    0aaf357a356dcc0a
    b81ccc4fafafe28f
    b81daf8fe2ef0aaf
    fefa0f0fe0ef5fff
    0aac81160adc500f
    b01d0afeb81e8116
    86c054ae896c09fe
    8d72b01ccc4f0f78
    b81f501fb81c528f
    0afd8116500c500f
    500a501a546a500c
    5e0b500b5ffb581a
    c80f8473dc03571b
    500a546a82ed8e0f
    500b5ffb580a500a
    8071dc03571b5e0b
    09af8116500f0ada
    101c86c054ce8997
    546a0afd8116500f
    5ffb581a500a501a
    dc03571b5e0b500b
    dc03581bcc4d8073
    5fff5fff71cc80a0
    8e10fefc580f5fff
    71dc80a0dc03582b
    580f5fff5fff5fff
    dc03570b8e10fefc
    571b8e1071ec80a0
    8e1071fc80a0dc03
    720c80a0dc0350eb
    e06fb6138e10afec
    dc7b501f89d2e3ef
    534a500a85ca8078
    519e201f500f501a
    500c507eec0ef3ea
    508d50cd501c5f3c
    f3eaf0ec71be71ad
    8e1009fbf0ed0afb
    5f2c580c50feec6e
    520a508d52cd501c
    71be71ad501a534a
    f0ed0afbf3eaf0ec
    501eec6e8e1009fb
    56cd501c5f8c5a4c
    501953495609508d
    f3e9f0ec71be71ad
    af8ff0edaf8b0afb
    0f78ec8e8e1009fb
    510e521e86c054ee
    f2cb500c5ff85ff8
    0af881240b8fe08f
    0f788e1709ac101c
    50fb500c500d500e
    a62a06bfb4b8cc0a
    06bf201be60c101e
    f6cde60c101ea62f
    cc07a626201b500c
    b9de0aefb9dd0adf
    757f51df5defcc02
    0f78756f51df5ddf
    d98fda0fd94fc9cf
    b972cc0ab8f5cc03
    52cd510d507e500f
    52ce510eec0ef5ed
    52c9520952cd534d
    b1720afc101fca8f
    5006507550170afb
    0dbfca0ff8fbf25e
    1016f569f56d0a78
    eca5ec48a66809c6
    507e51dd5c4dc9cf
    753dcc02ec0ef5ed
    c58f8e8dc80f0f78
    52c70afac10f0afc
    c9cf508550c55087
    ff6950195c090af6
    0adb05dcaa8d08cd
    8290101b8290e01b
    8e8e096faf0ff0d5
    86c054de0f788680
    096fa69606baf0b7
    8e8e099f0f788e8e
    500a506a54fa0f78
    588b500b50fb580a
    50395fc9500854fb
    54ba8095dc03e109
    50fb580a500a506a
    500854bb520b500b
    8095dc0350395809
    581a500a507a546a
    546b520b500b5ffb
    8473dc03500d507c
    581a500a507a546a
    546b520b500b5ffb
    8073dc03500d507c
    82ff84dddc000aef
    600ecc4effece09e
    602e684e601e683e
    ebcd356dcc0a685e
    8116500fe68ca6de
    546a500dfffce18f
    5ffb581a500a501a
    dc03571b5d0b500b
    ffece09e82ff8473
    fffce18f8116500f
    500a501a546a500d
    5d8b500b5ffb581a
    502a8473dc03571b
    5009500c51cd568d
    307fcc0750195389
    dc020afbe3dfe0cf
    f0ada71506ab8015
    f3a9180fe58fe10f
    0acf503aec7af6fc
    971e9f21ac1ef3a9
    fabc5abb8721e21c
    f3a90acf504ae29c
    0acf505aaf8c280c
    b162cc090f78f3a9
    b4b0e08e530e0afd
    cc09757efadef8fe
    b1dccc020afbb000
    cc09e08d530d0afe
    e46dfbedf8fdb4b0
    530af6fde6cf500f
    8502dc2554fc5e0c
    506a516a8b5bc80f
    500b5ffb580a500a
    8071dc03501b550b
    500a507a516ae70c
    0f788073dc03581a
    0f78b996500fcc07
    54dae71950095008
    50fb580a500a506a
    dc0354db56cb500b
    0000000000008495
[136c] portout(0x4910, 0x44, 0x0e00)
    8c26ac1fb0a4cc14
    b0e8a450ea1fb0a5
    b7cfb8e8500f8810
    8416b8cd501f882d
    f8cfb720331c332d
    8850b0cd9c5009df
    cc1472ef500fcc0b
    dc030afdc10f500c
    500fbfcf500f8127
    882bb0e88450b8cd
    b7cf842db8e8500f
    500f8850b0cc8c36
    502750365075b8cc
    883bb0cc84415008
    501f84508c1cb0cd
    500750065015b8cc
    0a6fb8a70a5f5028
    b0b1b8ad0a7fb8aa
    b0a5b8b1ff8fe81f
    b8a4501fb8a5e61f
    0000000000000f78
[141b] portout(0x4910, 0x44, 0x0f00)
    5008a40fea0fc80f
    500a506a54ba5109
    568b500b50fb580a
    0f788095dc0354bb
[1442] portout(0x4910, 0x48, 0x0000)
    8058dc03524f5b5f
    000000000f78bf2a
[1459] portout(0x4910, 0x48, 0x0100)
    8058dc03555f540f
    cc0a5fee9452ac0f
    bcc2bcc1f6efb4c1
    b545cc02502e556e
    bd450afdf6ef0af9
    b54bbd48f6efb548
    dc18bd4ebd4bf6ef
    dc180ad90a96806f
    b1b0cc020a97806f
    982d09f7942a09f6
    942d09f7842d805f
    cc02501e51fe8053
    bd39bd43f6efb543
    b555bd46f6efb546
    f6efb556bd55f6ef
    bd49f6efb549bd56
    504650296b72bd4c
    50485008500c53f2
    53f250468086dc25
    dc2550485788502c
    c58f0f7863728086
    dc03503b08890af8
    81d0dc03e70c8204
    c58f0f788c550598
    dc03503b08890af8
    81d0dc03e90c8204
    cc4e0f788c610598
    affa85dddc17314f
    dc17714acc4e8873
    3155cc4e309d85e0
    314f0cf5715fb720
    ac0f31cf8ba6dc65
    8c85ac1f0a788c82
    31bff6fd316f5008
    318ff6f5317ff6f7
    e10ffcfc540c500c
    9caf09f5f7cfe30c
    31af0adeef9c80b7
    fcf5319f0afefcfe
    e01f0ddf0adef6ef
    31cf0eeef6fefdfc
    f8d70a788ca7ac1f
    71bf500f0e77f6e7
    500e84b2500d5005
    716d0ae9500771b7
    712d87a6dc657175
    500a506a54ea688a
    8071dc035ffb580a
    312d8071dc038cc3
    ea1fb6700f78608a
    cc08a4ddea2fa4dd
    88ddac2f88ddb055
    500b68ec8092dc02
    8066dc0260e631aa
    a4d3e85fb6708cdd
    000000000f78be70
[1620] portout(0x4910, 0x48, 0x0200)
    f069500651c95489
    1016827bdc2a0afc
    51c957c99c03ac76
    dc2a0afcf0695006
    9c0dac461016827b
    789f500fcc020f78
    50bf5b8fcc050f78
    b1e2cc070f78705f
    5a7f0f78b9e2e61f
    cc4e8058dc03534f
    dc03564f5abfb830
    0f78b831cc4e8058
    cc4eb6938c51c83f
    e1efa03eea4f70ef
    51ff8841ac1fe3ef
    dc00542f84dddc00
    a048ea5f30ef84dd
    884bac1fe3efe1cf
    30ef84dddc00527f
    dc00528fa451ea6f
    300fcc4f0f7884dd
    8866239f0abf885b
    0abf846488d1201f
    23df0abf890b23cf
    893b23ef0abf8913
    b68a0ae78413dc29
    84f8ee1e80fa0af8
    84f888bcac07ee37
    4898409650085006
    540ce587e1070a97
    94f8ac1694f809c8
    5ffb5ffb580b57fc
    201af68a0a7a5ffb
    9cf809b794f809ca
    5205fac6501c500c
    1807f656501553c5
    590550fd500ff676
    ec0df3d550155345
    ec18f585f2862018
    581a500a501a546a
    0a6ee10750875076
    570b500b5ffbfc7e
    0a6e0a58f6eb571b
    dc03608df6e8e03e
    af070a97ecd68073
    8116dc75500f0a7c
    84cf0afeff7fe10f
    94f8ac1640965006
    f168501853c850e8
    fff7e08faf870a97
    8116dc75500f0a7c
    dc290afeff7fe18f
    80fa0af8b68a8712
    b27ccc0284f8ee1e
    af8d31bc31cdcc02
    0ac742fc41dcaf8c
    b0190afdb018cc4f
    0ad842fdb01a41fd
    0a8c8116dc75500f
    0a7c0af68116dc75
    80a2dc0355db0a8d
    8712dc29e10e0a6e
    af0c0a8c870cdc29
    0a9c8116dc75500f
    0a9c8116dc75ae8c
    09cf500eaf8ce38c
    0aee0f78501e890a
    b0e5cc4d8f0edc29
    c80f8712dc290afe
    ac1ea451dc29ea0f
    8f0edc290aee8930
    dc29fe9e0f0e5ffe
    09e9532eaf898f0c
    0a9fcc4d970cdc29
    e24ffaef583eb8e5
    8711dc29bc73101f
    c10f970cdc29ac09
    b8e40a9f738fcc4d
    c80f852e820fdc17
    50ffa451dc29ea0f
    feef0f0f51cf500f
    0a99a14aeb2e8d85
    a162e94e8f0cdc29
    a172e92ea16ae93e
    a181e83ea179e82e
    a15beb4f350fcc0a
    ea0e8560a15dea1e
    ba35cc02500fa560
    a566ea0e8711dc29
    501fcc4da185ea1e
    a185eb2e854cb88a
    501fcc4da185ea2e
    a185ea2e8552b88b
    8f0cdc29e2890a9f
    b889501fcc4d857e
    ba34cc02b088cc4d
    b88c501fcc4d8552
    adab870edc298554
    dc79ad9b886fdc79
    899222bf0abf886b
    dc1750498477dc17
    899c221f0aef85e0
    8736dc1c868edc1c
    8d9afecf0f0f5fff
    959a09fcb01ccc00
    dc1c80a1dc0356cb
    8db0233f0aef8733
    89b2ac1faf8f0adf
    ac7de28d8580dc1c
    5f1e580e9285dc1c
    505f9dbef0de501e
    f0de140e8686dc1c
    240ef3de500f0afc
    8681dc1c0acff3de
    8058dc03555f540f
    55cf529f9dd5ac0f
    770f76ffcc11501f
    000000000f78771f
[19d7] portout(0x4910, 0x48, 0x0300)
    568d500d80f6dc00
    80b6dc10558c500c
    510c500ce0cd512d
    501fcc4f80b6dc10
    500f541f540f7fcf
    d00755c75007580f
    57bfd227565f51af
    5008584f540f5dcf
    84c7dc10d0085688
[1a26] portout(0x4910, 0x48, 0x0310)
    b791d11fff9fc11f
    dc00bf91e63fe62f
    50185fe85288808c
    8078501fd0080a9f
    bf91e83fe82fb791
    0a9d501e5fee53ce
    80a2dc0050ca0a9c
    827ddc108091dc00
    8066dc7b81fadc10
    80f6dc008546dc10
    51f7500f8102dc00
    ec07f37856885008
    73afcc175fff5fff
    0f787fcf500fcc4f
    0f7b0f7bfaef559e
    0f78a47a201f0f7b
[1aad] portout(0x4910, 0x48, 0x0691)
    0000000000000080
[1abc] portout(0x4910, 0x48, 0x069a)
    000000000003ffff
    000000fe0000ffff
    0000000000000000
[1adb] portout(0x4910, 0x48, 0x0707)
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    00000000000b71b0
    00000000ffffffff
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000ffffff
[1b3a] portout(0x4910, 0x48, 0x0780)
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
[1b61] portout(0x4910) END
[1b62] send_op_pcu_mailboxes - size: 0x0002
    send_op_pcu_mailbox(0x7, 0036 | (0000 & send_op_pcu_mailbox(0x5, 5ce8)))
    send_op_pcu_mailbox(0x7, 0000 | (0000 & send_op_pcu_mailbox(0x5, 007c)))
[1b79] initialize arrays
[1b7a] write match & patch - size: 0x0019
    [0000000000000000]
    [1f4d30f7be933ae5] 0x3ae4 -> 0x7d26
    [1f0c032ebe5369f3] 0x69f2 -> 0x7ca6
    [1f058a2bbe031a1f] 0x1a1e -> 0x7c06
    [1f1d903cbe39290b] 0x290a -> 0x7c72
    [1f1406c7be11558f] 0x558e -> 0x7c22
    [1f1e8d18be4766c3] 0x66c2 -> 0x7c8e
    [1f1fbca5be2b23ab] 0x23aa -> 0x7c56
    [1f000d0abe4c4911] 0x4910 -> 0x7c98
    [1f0122c4be745d4b] 0x5d4a -> 0x7ce8
    [1f3d29febe4868c5] 0x68c4 -> 0x7c90
    [1f55908fbe2d3c0f] 0x3c0e -> 0x7c5a
    [1f20b4d7be814f77] 0x4f76 -> 0x7d02
    [1f37861fbe3301cf] 0x01ce -> 0x7c66
    [1f1789a1be872e21] 0x2e20 -> 0x7d0e
    [1f18a893be7b6f6b] 0x6f6a -> 0x7cf6
    [1f21948dbeb313bb] 0x13ba -> 0x7d66
    [1f4001c5be356639] 0x6638 -> 0x7c6a
    [1f2b90b9be450cd3] 0x0cd2 -> 0x7c8a
    [1f52269bbe9d345b] 0x345a -> 0x7d3a
    [1f359d4fbed24d5f] 0x4d5e -> 0x7da4
    [1f5eaf32bec56c4b] 0x6c4a -> 0x7d8a
    [1f2f99d4be5b318d] 0x318c -> 0x7cb6
    [1f289da1be6331a5] 0x31a4 -> 0x7cc6
    [1f1b9828be8d2d37] 0x2d36 -> 0x7d1a
[1c45] install addr: 0x7c00 - size 0x015f
  <match & patch: 0x0000 -> 0x7c00>
    [c0053d03ffc8] U7c00:  tmp15:= SUB_DSZ32(0x0000003d, tmp15) 
    [4152f45c027f] U7c01:  UJMPCC_DIRECT_NOTTAKEN_CONDBE(tmp15, U37f4) 
    [c21e0303d23d] U7c02: LFNCEWTMRK-> tmp13:= SIGEVENT(tmp13, 0x00000003) SEQW URET1
      [070000ce]
    [c00524071e08] U7c04:  tmp1:= SUB_DSZ32(0x00000124, tmp8) 
    [81500d7002f1] U7c05:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U7c0d) SEQW GOTO U2711
  <match & patch: 0x1a1e -> 0x7c06>
    [c86a1d50037f] U7c06:  BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000015, U041d) 
      [21a71140]
    [80070043ef9f] U7c08:  tmp14:= NOTAND_DSZ32(0xfffffffffffff000, tmp14) SEQW GOTO U1a20
    [d96289480200] U7c09:  MOVETOCREG_BTS_DSZ64( , 0x00000001, 0x289) !m1 
    [9062b40b0240] U7c0a:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2b4, 32) !m1 
      [019a2000]
    [9a62b4080330] U7c0c: SYNCFULL-> MOVETOCREG_BTR_DSZ64(tmp0, 0x00000010, 0x2b4) !m1 SEQW GOTO U05ee
    [006205071200] U7c0d:  tmp1:= MOVEFROMCREG_DSZ64( , 0x105) 
    [586b119c0231] U7c0e:  BTUJNB_DIRECT_NOTTAKEN(tmp1, 0x00000002, U2711) !m0,m1 
      [2805ee00]
    [a04337080235] U7c10: LFNCEMARK-> WRITEURAM(tmp5, 0x0037, 32) !m2 SEQW GOTO U60b5
    [8052111c0278] U7c11:  UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp8, U2711) 
    [8151111c027f] U7c12:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp15, U2711) 
      [3460b500]
    [0053b50002ff] U7c14:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp15, U60b5) 
    [c00cb50002c0] U7c15:  SAVEUIP( , 0x00, U60b5) SEQW GOTO U7ce2
    [9042f1080240] U7c16:  MOVETOCREG_DSZ64( , 0x00000000, 0x2f1, 32) !m1 
      [01fce240]
    [0e750003003c] U7c18: LFNCEMARK-> tmp0:= LDSTGBUF_DSZ64_ASZ16_SC1(tmp12) SEQW GOTO U1458
    [00081a032008] U7c19:  tmp2:= ZEROEXT_DSZ32(0x0000001a) 
    [400cd0f402c0] U7c1a:  SAVEUIP( , 0x01, U7dd0) !m0 
      [34145800]
    [8052a67002b8] U7c1c: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp8, U5ca6) 
    [40081b032008] U7c1d:  tmp2:= ZEROEXT_DSZ32(0x0000001b) 
    [8151111c027f] U7c1e:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp15, U2711) 
      [180000c0]
    [c00012140000] U7c20: ROVR<- NOP SEQW SAVEUIP1 U7c21
    [000cb58312f5] U7c21:  tmp1:= SAVEUIP(tmp5, 0x01, U60b5) !m0 SEQW GOTO U5ca2
  <match & patch: 0x558e -> 0x7c22>
    [80210003fcbf] U7c22:  tmp15:= CONCAT_DSZ32(tmp15, tmp2) 
      [11dca25c]
    [c0563103f23f] U7c24:  tmp15:= BTR_DSZ64(tmp15, 0x00000031) SEQW GOTO U5590
    [0008ff7f100b] U7c25:  tmp1:= ZEROEXT_DSZ32(0x00007fff) 
    [406426031231] U7c26:  tmp1:= SHL_DSZ64(tmp1, 0x00000026) 
      [01d59000]
    [c04400031d71] U7c28:  tmp1:= AND_DSZ64(tmp1, tmp5) 
    [c17e00031cb1] U7c29:  tmp1:= MOVEMERGEFLGS_DSZ64(tmp1, tmp2) 
    [017400035d71] U7c2a:  tmp5:= CMOVCC_DSZ64_CONDZ(tmp1, tmp5) 
      [300000c0]
    [40050903dc88] U7c2c:  tmp13:= SUB_DSZ32(0x00000009, tmp2) 
    [c17e00031f71] U7c2d:  tmp1:= MOVEMERGEFLGS_DSZ64(tmp1, tmp13) 
    [017400035d71] U7c2e:  tmp5:= CMOVCC_DSZ64_CONDZ(tmp1, tmp5) SEQW GOTO U7cca
      [31fcca80]
    [0fff00000000] U7c30: SYNCFULL-> SFENCE() 
    [89628903f200] U7c31:  tmp15:= MOVETOCREG_BTS_DSZ64( , 0x089) 
    [e0628903f200] U7c32:  tmp15:= MOVEFROMCREG_DSZ64( , 0x089) !m2 
      [180000c0]
    [686afc69023f] U7c34: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000001, U5afc) !m2 SEQW GOTO U7c32
    [40a10f1d4008] U7c35:  tmpv0:= CONCAT_DSZ16(0x0000070f) 
    [800101014214] U7c36:  tmpv0:= OR_DSZ32(tmpv0, 0x00000001) 
      [287c3200]
    [406320015200] U7c38:  tmpv1:= READURAM( , 0x0020, 64) 
    [00e146015215] U7c39:  tmpv1:= CONCAT_DSZ8(tmpv1, 0x00000046) 
    [c06430015215] U7c3a:  tmpv1:= SHL_DSZ64(tmpv1, 0x00000030) 
      [300000c0]
    [c04100015557] U7c3c:  tmpv1:= OR_DSZ64(tmpv3, tmpv1) 
    [10622f097240] U7c3d:  tmpv3:= MOVEFROMCREG_DSZ64( , 0x22f, 32) !m1 
    [386a3d310217] U7c3e: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmpv3, 0x00000000, U7c3d) !m1,m2 
      [090000c0]
    [19022ec80200] U7c40:  MOVETOCREG_OR_DSZ64( , 0x00000003, 0x22e) !m0,m1 SEQW GOTO U3b2e
    [c0080003c03d] U7c41:  tmp12:= ZEROEXT_DSZ32(tmp13) 
    [c008a01bb00a] U7c42:  tmp11:= ZEROEXT_DSZ32(0x000046a0) 
      [21bb2e00]
    [400deff00340] U7c44:  SAVEUIP_REGOVR( , 0x01, U7c45, 0xbcef) !m0 SEQW GOTO U7c35
    [c0082b03c008] U7c45:  tmp12:= ZEROEXT_DSZ32(0x0000002b) 
    [80151f03c23c] U7c46:  tmp12:= BTS_DSZ32(tmp12, 0x0000001f) 
      [11fc3500]
    [8008a41bb00a] U7c48:  tmp11:= ZEROEXT_DSZ32(0x000046a4) 
    [400deff00340] U7c49:  SAVEUIP_REGOVR( , 0x01, U7c4a, 0xbcef) !m0 SEQW GOTO U7c35
    [b0422e080240] U7c4a:  MOVETOCREG_DSZ64( , 0x00000000, 0x22e, 32) !m1,m2 
      [01fc3540]
    [805200000eba] U7c4c: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp10, tmp10) 
    [c0652003d23d] U7c4d:  tmp13:= SHR_DSZ64(tmp13, 0x00000020) 
    [033a0003a03a] U7c4e:  tmp10:= STC(tmp10) SEQW GOTO U7cd8
      [187cd880]
    [c06213174200] U7c50:  tmp4:= MOVEFROMCREG_DSZ64( , 0x513) 
    [2a6213540734] U7c51: LFNCEMARK-> MOVETOCREG_BTR_DSZ64(tmp4, 0x00000031, 0x513) !m2 
    [800800000000] U7c52:  NOP 
      [048000c0]
    [69620bc00240] U7c54: LFNCEWTMRK-> MOVETOCREG_BTS_DSZ64( , 0x00000007, 0x00b) !m0,m2 SEQW GOTO U0d90
    [000000000000] U7c55:  NOP 
  <match & patch: 0x23aa -> 0x7c56>
    [d962dd480300] U7c56:  MOVETOCREG_BTS_DSZ64( , 0x00000011, 0x2dd) !m1 
      [260d9000]
    [e86a3c29027e] U7c58:  BTUJB_DIRECT_NOTTAKEN(tmp14, 0x00000004, U5a3c) !m2 SEQW GOTO U23ac
    [000000000000] U7c59:  NOP 
  <match & patch: 0x3c0e -> 0x7c5a>
    [006212173200] U7c5a:  tmp3:= MOVEFROMCREG_DSZ64( , 0x512) 
      [11a3ac00]
    [204212140200] U7c5c:  MOVETOCREG_DSZ64( , 0x00000000, 0x512) !m2 SEQW GOTO U3c10
    [000000000000] U7c5d:  NOP 
    [804267000234] U7c5e:  MOVETOCREG_DSZ64(tmp4, 0x067) 
      [21bc1000]
    [c00c444c0200] U7c60:  SAVEUIP( , 0x00, U1344) SEQW GOTO U7ce1
    [000000000000] U7c61:  NOP 
    [c04213140200] U7c62:  MOVETOCREG_DSZ64( , 0x00000000, 0x513) 
      [21fce100]
    [c00c28440280] U7c64:  SAVEUIP( , 0x00, U5128) SEQW GOTO U7ce1
    [000000000000] U7c65:  NOP 
  <match & patch: 0x01ce -> 0x7c66>
    [804900035030] U7c66:  tmp5:= MOVE_DSZ64(tmp0) 
      [21fce100]
    [400c61640200] U7c68:  SAVEUIP( , 0x00, U1961) SEQW GOTO U7ce1
    [000000000000] U7c69:  NOP 
  <match & patch: 0x6638 -> 0x7c6a>
    [000407033048] U7c6a:  tmp3:= AND_DSZ32(0x00000007, r64dst) 
      [21fce100]
    [c86acc140cf4] U7c6c: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp4, U05cc, tmp3) SEQW GOTO U5e8a
    [000000000000] U7c6d:  NOP 
    [c06520035235] U7c6e:  tmp5:= SHR_DSZ64(tmp5, 0x00000020) 
      [185e8a00]
    [80041f035d48] U7c70:  tmp5:= AND_DSZ32(0x0000001f, tmp5) SEQW GOTO U3052
    [000000000000] U7c71:  NOP 
  <match & patch: 0x290a -> 0x7c72>
    [80080f031008] U7c72:  tmp1:= ZEROEXT_DSZ32(0x0000000f) 
      [21b05200]
    [204262000231] U7c74:  MOVETOCREG_DSZ64(tmp1, 0x062) !m2 
    [e96270c00200] U7c75:  MOVETOCREG_BTS_DSZ64( , 0x00000003, 0x070) !m0,m2 SEQW GOTO U2912
    [29620bc00200] U7c76:  MOVETOCREG_BTS_DSZ64( , 0x00000003, 0x00b) !m0,m2 
      [01a91240]
    [c0480e1bc008] U7c78:  tmp12:= ZEROEXT_DSZ64(0x0000060e) 
    [c062f01f1200] U7c79:  tmp1:= MOVEFROMCREG_DSZ64( , 0x7f0) SEQW GOTO U290c
    [40330203f23e] U7c7a:  tmp15:= SELECTCC_DSZ32_CONDNB(tmp14, 0x00000002) 
      [01a90c40]
    [80010103ffc8] U7c7c:  tmp15:= OR_DSZ32(0x00000001, tmp15) 
    [c0240203e23e] U7c7d:  tmp14:= SHL_DSZ32(tmp14, 0x00000002) SEQW GOTO U1a32
    [b86a4ce50232] U7c7e:  BTUJB_DIRECT_NOTTAKEN(tmp2, 0x00000003, U794c) !m0,m1,m2 
      [219a3240]
    [d0629f0b2240] U7c80:  tmp2:= MOVEFROMCREG_DSZ64( , 0x29f, 32) !m1 
    [586aa8400272] U7c81: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp2, 0x00000005, U20a8) !m1 SEQW GOTO U7948
    [413100023c78] U7c82:  rbx:= SELECTCC_DSZ32_CONDNZ(tmp8, tmp1) 
      [38f94840]
    [00a10032200d] U7c84:  rdx:= CONCAT_DSZ16(0x0000ac00) 
    [c0150a022222] U7c85:  rdx:= BTS_DSZ32(rdx, 0x0000000a) SEQW GOTO U19c4
    [805410031231] U7c86:  tmp1:= BT_DSZ64(tmp1, 0x00000010) 
      [2199c440]
    [0052bd6002b1] U7c88:  UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp1, U58bd) 
    [80720003bef1] U7c89:  tmp11:= SELECTCC_DSZ64_CONDB(tmp1, tmp11) SEQW GOTO U05ea
  <match & patch: 0x0cd2 -> 0x7c8a>
    [017100037df1] U7c8a:  tmp7:= SELECTCC_DSZ64_CONDNZ(tmp1, tmp7) 
      [3185ea40]
    [400800020037] U7c8c:  rax:= ZEROEXT_DSZ32(tmp7) 
    [806520022237] U7c8d:  rdx:= SHR_DSZ64(tmp7, 0x00000020) SEQW UEND0
  <match & patch: 0x66c2 -> 0x7c8e>
    [40080003f000] U7c8e:  tmp15:= ZEROEXT_DSZ32() SEQW GOTO U66c4
      [11e6c4b1]
  <match & patch: 0x68c4 -> 0x7c90>
    [000c967002c0] U7c90:  SAVEUIP( , 0x00, U7c96) 
    [800a80800200] U7c91: SYNCWAIT-> TESTUSTATE( , UCODE, !0x0080) !m0 ? SEQW GOTO U7c95
    [800800000000] U7c92:  NOP 
      [1afc9540]
    [400a40800200] U7c94:  TESTUSTATE( , UCODE, !0x0040) !m0 ? SEQW URET0
    [40320003df7c] U7c95:  tmp13:= SELECTCC_DSZ32_CONDB(tmp12, tmp13) 
    [000100034f74] U7c96:  tmp4:= OR_DSZ32(tmp4, tmp13) SEQW GOTO U68c6
      [21e8c688]
  <match & patch: 0x4910 -> 0x7c98>
    [9042f1080240] U7c98:  MOVETOCREG_DSZ64( , 0x00000000, 0x2f1, 32) !m1 
    [80430f080200] U7c99:  WRITEURAM( , 0x00000000, 0x000f, 32) 
    [ed0fc8000008] U7c9a:  PORTOUT_DSZ32_ASZ16_SC1(0x00c8,  , 0x00000000) !m2 
      [300000c0]
    [00484867000b] U7c9c:  tmp0:= ZEROEXT_DSZ64(0x00007948) 
    [c00a00400200] U7c9d:  TESTUSTATE( , UCODE, 0x1000) ? SEQW GOTO U4940
    [800800000000] U7c9e:  NOP 
      [11c94040]
    [1902f2880200] U7ca0:  MOVETOCREG_OR_DSZ64( , 0x00000002, 0x2f2) !m0,m1 SEQW GOTO U4915
    [000000000000] U7ca1:  NOP 
    [006204070200] U7ca2:  tmp0:= MOVEFROMCREG_DSZ64( , 0x104) 
      [01c91500]
    [0962044403f0] U7ca4: SYNCFULL-> MOVETOCREG_BTS_DSZ64(tmp0, 0x0000001d, 0x104) 
    [8a621b140232] U7ca5:  MOVETOCREG_BTR_DSZ64(tmp2, 0x51b) SEQW GOTO U3b44
  <match & patch: 0x69f2 -> 0x7ca6>
    [1062e70b1240] U7ca6:  tmp1:= MOVEFROMCREG_DSZ64( , 0x2e7, 32) !m1 
      [183b4440]
    [386aa63102f1] U7ca8: LFNCEWTMRK-> BTUJB_DIRECT_NOTTAKEN(tmp1, 0x0000000c, U7ca6) !m1,m2 
    [c00d03800000] U7ca9:  SAVEUIP_REGOVR(0x01, U7caa, 0x0003) !m0 SEQW GOTO U32cd
    [0042bb1c0235] U7caa:  MOVETOCREG_DSZ64(tmp5, 0x7bb) 
      [2632cd40]
    [796289480200] U7cac:  MOVETOCREG_BTS_DSZ64( , 0x00000001, 0x289) !m1,m2 SEQW GOTO U69f4
    [000000000000] U7cad:  NOP 
    [09a24d1c063a] U7cae:  MOVETOCREG_SHR_DSZ64(tmp10, 0x00000020, 0x74d) 
      [21e9f400]
    [40423c18023a] U7cb0: SYNCFULL-> MOVETOCREG_DSZ64(tmp10, 0x63c) 
    [41506204027a] U7cb1:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U2162) 
    [80620607a200] U7cb2:  tmp10:= MOVEFROMCREG_DSZ64( , 0x106) 
      [180000c0]
    [6962064403ba] U7cb4: SYNCFULL-> MOVETOCREG_BTS_DSZ64(tmp10, 0x00000019, 0x106) !m2 SEQW GOTO U2162
    [000000000000] U7cb5:  NOP 
  <match & patch: 0x318c -> 0x7cb6>
    [2dcb20031008] U7cb6:  tmp1:= PORTIN_DSZ8_ASZ16_SC1(0x0020) !m2 
      [08216200]
    [986b115c0231] U7cb8:  BTUJNB_DIRECT_NOTTAKEN(tmp1, 0x00000001, U2711) !m1 
    [ed0b1813500c] U7cb9:  tmp5:= PORTIN_DSZ32_ASZ16_SC1(0x8418) !m2 
    [ed0b1c13100c] U7cba:  tmp1:= PORTIN_DSZ32_ASZ16_SC1(0x841c) !m2 
      [300000c0]
    [402100035d71] U7cbc:  tmp5:= CONCAT_DSZ32(tmp1, tmp5) SEQW GOTO U1526
    [000000000000] U7cbd:  NOP 
    [c005883f1c8a] U7cbe:  tmp1:= SUB_DSZ32(0x00004f88, tmp2) 
      [31952600]
    [8131010b1231] U7cc0:  tmp1:= SELECTCC_DSZ32_CONDNZ(tmp1, 0x00000201) 
    [404700035d71] U7cc1:  tmp5:= NOTAND_DSZ64(tmp1, tmp5) 
    [7d0b00031c88] U7cc2:  tmp1:= PORTIN_DSZ32_ASZ16_SC1(0x0000, tmp2) !m1,m2 
      [300000c0]
    [7d0f00035c88] U7cc4:  PORTOUT_DSZ32_ASZ16_SC1(0x0000, tmp2, tmp5) !m1,m2 SEQW GOTO U559c
    [000000000000] U7cc5:  NOP 
  <match & patch: 0x31a4 -> 0x7cc6>
    [c02510032235] U7cc6:  tmp2:= SHR_DSZ32(tmp5, 0x00000010) 
      [31d59c00]
    [800519131e08] U7cc8:  tmp1:= SUB_DSZ32(0x00000419, tmp8) 
    [8150257002f1] U7cc9: SYNCMARK-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U7c25) 
    [40653d031235] U7cca:  tmp1:= SHR_DSZ64(tmp5, 0x0000003d) 
      [2c8000c0]
    [c00405031c48] U7ccc:  tmp1:= AND_DSZ32(0x00000005, tmp1) SEQW GOTO U31a6
    [000000000000] U7ccd:  NOP 
    [4052c67402f8] U7cce:  UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp8, U7dc6) 
      [21b1a600]
    [80c800033035] U7cd0:  tmp3:= ZEROEXT_DSZ8(tmp5) 
    [204322080233] U7cd1:  WRITEURAM(tmp3, 0x0022, 32) !m2 SEQW SAVEUIP1 U7cd2SEQW GOTO U7d6d
    [40320003fd73] U7cd2:  tmp15:= SELECTCC_DSZ32_CONDB(tmp3, tmp5) 
      [21fd6d55]
    [386a1531023f] U7cd4: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000000, U7c15) !m1,m2 SEQW GOTO U60b5
    [000000000000] U7cd5:  NOP 
    [83380003a03a] U7cd6:  tmp10:= CLC(tmp10) 
      [0860b500]
    [8008a41bb00a] U7cd8:  tmp11:= ZEROEXT_DSZ32(0x000046a4) 
    [400deff3c340] U7cd9:  tmp12:= SAVEUIP_REGOVR( , 0x01, U7cda, 0xbcef) !m0 SEQW GOTO U7dc2
    [f0622d0bc240] U7cda:  tmp12:= MOVEFROMCREG_DSZ64( , 0x22d, 32) !m1,m2 
      [31fdc240]
    [b86b41f103fc] U7cdc:  BTUJNB_DIRECT_NOTTAKEN(tmp12, 0x0000001f, U7c41) !m0,m1,m2 
    [000000000000] U7cdd: SYNCFULL-> NOP SEQW GOTO U7cd8
    [c00909240000] U7cde: ROVR<- MOVE_DSZ32() SEQW SAVEUIP1 U7ce0
      [08fcd85e]
    [400c64640200] U7ce0:  SAVEUIP( , 0x00, U1964) 
    [900a00100200] U7ce1:  TESTUSTATE( , SYS, 0x0400) !m1 ? SEQW GOTO U304e
    [cfef02000000] U7ce2:  LBSYNC(0x00000002) 
      [11b04e40]
    [40623b1bf200] U7ce4:  tmp15:= MOVEFROMCREG_DSZ64( , 0x63b) 
    [a9023b58023f] U7ce5:  MOVETOCREG_OR_DSZ64(tmp15, 0x00000001, 0x63b) !m2 
    [60423b18023f] U7ce6: SYNCFULL-> MOVETOCREG_DSZ64(tmp15, 0x63b) !m2 SEQW URET0
      [090000ca]
  <match & patch: 0x5d4a -> 0x7ce8>
    [40070103ffc8] U7ce8:  tmp15:= NOTAND_DSZ32(0x00000001, tmp15) 
    [ed0f1833f00a] U7ce9:  PORTOUT_DSZ32_ASZ16_SC1(0x4c18,  , tmp15) !m2 
    [41080003f010] U7cea:  tmp15:= READUIP_REGOVR(0x00) 
      [300000c0]
    [20438e08023f] U7cec:  WRITEURAM(tmp15, 0x008e, 32) !m2 
    [00633703f200] U7ced:  tmp15:= READURAM( , 0x0037, 64) 
    [386b4e00003f] U7cee: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp15, 0x00000000, U304e) !m1,m2 
      [090000c0]
    [40070103ffc8] U7cf0:  tmp15:= NOTAND_DSZ32(0x00000001, tmp15) 
    [ce250003f03f] U7cf1:  tmp15:= LDPPHYSTICKLE_DSZ32_ASZ64_SC1(tmp15) 
    [80638e03f200] U7cf2:  tmp15:= READURAM( , 0x008e, 64) SEQW GOTO U03be
      [2183be80]
    [400108032c88] U7cf4:  tmp2:= OR_DSZ32(0x00000008, tmp2) SEQW GOTO U5405
    [000000000000] U7cf5:  NOP 
  <match & patch: 0x6f6a -> 0x7cf6>
    [69a2f51c033a] U7cf6:  MOVETOCREG_SHR_DSZ64(tmp10, 0x00000010, 0x7f5) !m2 
      [21d40500]
    [40632203f200] U7cf8:  tmp15:= READURAM( , 0x0022, 64) 
    [00210003ffff] U7cf9:  tmp15:= CONCAT_DSZ32(tmp15, tmp15) 
    [a9632280023f] U7cfa:  unk_963(tmp15, IMM_MACRO_22) !m0,m2 
      [300000c0]
    [00620407f200] U7cfc:  tmp15:= MOVEFROMCREG_DSZ64( , 0x104) 
    [296204c403ff] U7cfd:  MOVETOCREG_BTS_DSZ64(tmp15, 0x0000001f, 0x104) !m0,m2 
    [800c6c3c02c0] U7cfe:  SAVEUIP( , 0x00, U6f6c) SEQW GOTO U7ce4
      [01fce480]
    [005000000efb] U7d00: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDO(tmp11, tmp11) SEQW GOTO U038c
    [000000000000] U7d01:  NOP 
  <match & patch: 0x4f76 -> 0x7d02>
    [0151111c0272] U7d02:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp2, U2711) 
      [08038c00]
    [c0054803ae08] U7d04:  tmp10:= SUB_DSZ32(0x00000048, tmp8) 
    [c150ce7002fa] U7d05:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U7cce) 
    [00650103f235] U7d06:  tmp15:= SHR_DSZ64(tmp5, 0x00000001) 
      [300000c0]
    [b9281171023a] U7d08:  CMPUJZ_DIRECT_NOTTAKEN(tmp10, 0x00000001, U7c11) !m1,m2 
    [8005bc03ae08] U7d09:  tmp10:= SUB_DSZ32(0x000000bc, tmp8) 
    [c150197002fa] U7d0a:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U7c19) 
      [300000c0]
    [40050a07ae08] U7d0c:  tmp10:= SUB_DSZ32(0x0000010a, tmp8) 
    [c150ca7402fa] U7d0d:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U7dca) SEQW GOTO U4f78
  <match & patch: 0x2e20 -> 0x7d0e>
    [c96272800240] U7d0e: LFNCEWAIT-> MOVETOCREG_BTS_DSZ64( , 0x00000006, 0x072) !m0 
      [334f7840]
    [80629e1f2200] U7d10:  tmp2:= MOVEFROMCREG_DSZ64( , 0x79e) 
    [80480003fcbf] U7d11:  tmp15:= ZEROEXT_DSZ64(tmp15, tmp2) 
    [c9a29e5ff27f] U7d12: LFNCEMARK-> tmp15:= MOVETOCREG_SHR_DSZ64(tmp15, 0x00000005, 0x79e) 
      [350000c0]
    [900a00100200] U7d14:  TESTUSTATE( , SYS, 0x0400) !m1 ? SEQW GOTO U2e22
    [00040303f23f] U7d15:  tmp15:= AND_DSZ32(tmp15, 0x00000003) 
    [40050003fff2] U7d16:  tmp15:= SUB_DSZ32(tmp2, tmp15) 
      [01ae2200]
    [80532238027f] U7d18:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp15, U2e22) 
    [400c22380240] U7d19:  SAVEUIP( , 0x00, U2e22) SEQW GOTO U7ce2
  <match & patch: 0x2d36 -> 0x7d1a>
    [40637f03d200] U7d1a:  tmp13:= READURAM( , 0x007f, 64) 
      [01fce240]
    [f86a1e75023d] U7d1c:  BTUJB_DIRECT_NOTTAKEN(tmp13, 0x00000001, U7d1e) !m1,m2 
    [b86a1e35023d] U7d1d:  BTUJB_DIRECT_NOTTAKEN(tmp13, 0x00000000, U7d1e) !m1,m2 SEQW GOTO U1a08
    [c0140103d23d] U7d1e:  tmp13:= BT_DSZ32(tmp13, 0x00000001) 
      [119a0840]
    [c0330103d23d] U7d20:  tmp13:= SELECTCC_DSZ32_CONDNB(tmp13, 0x00000001) 
    [806336039200] U7d21:  tmp9:= READURAM( , 0x0036, 64) 
    [400000039e7d] U7d22:  tmp9:= ADD_DSZ32(tmp13, tmp9) 
      [300000c0]
    [804336080239] U7d24:  WRITEURAM(tmp9, 0x0036, 32) 
    [c00c29ec0240] U7d25:  SAVEUIP( , 0x01, U3b29) !m0 SEQW GOTO U2d3a
  <match & patch: 0x3ae4 -> 0x7d26>
    [0fef01000000] U7d26:  LBSYNC(0x00000001) 
      [11ad3a40]
    [3062b40b0240] U7d28:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2b4, 32) !m1,m2 
    [c86aec140330] U7d29:  BTUJB_DIRECT_NOTTAKEN(tmp0, 0x00000010, U05ec) 
    [c00d06800000] U7d2a:  SAVEUIP_REGOVR(0x01, U7d2c, 0x0006) !m0 SEQW GOTO U32cd
      [11b2cd80]
    [7962e1880280] U7d2c:  MOVETOCREG_BTS_DSZ64( , 0x0000000a, 0x2e1) !m0,m1,m2 
    [800813036008] U7d2d:  tmp6:= ZEROEXT_DSZ32(0x00000013) 
    [4150097002f6] U7d2e: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp6, U7c09) 
      [090000c0]
    [c00501036d88] U7d30:  tmp6:= SUB_DSZ32(0x00000001, tmp6) 
    [9062e10b0240] U7d31:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2e1, 32) !m1 
    [786be8a802b0] U7d32:  BTUJNB_DIRECT_NOTTAKEN(tmp0, 0x0000000a, U3ae8) !m0,m1,m2 SEQW GOTO U7d2e
      [21fd2e80]
    [800a28000200] U7d34:  TESTUSTATE( , UCODE, 0x0028) ? SEQW GOTO U5da6
    [9062cd0bb240] U7d35:  tmp11:= MOVEFROMCREG_DSZ64( , 0x2cd, 32) !m1 
    [40047003bec8] U7d36:  tmp11:= AND_DSZ32(0x00000070, tmp11) 
      [21dda600]
    [8150357402fb] U7d38: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp11, U7d35) SEQW GOTO U61f0
    [000000000000] U7d39:  NOP 
  <match & patch: 0x345a -> 0x7d3a>
    [d062cd0b0240] U7d3a:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2cd, 32) !m1 
      [0861f000]
    [7902cd480230] U7d3c: SYNCFULL-> MOVETOCREG_OR_DSZ64(tmp0, 0x00000001, 0x2cd) !m1,m2 
    [8008a8033008] U7d3d:  tmp3:= ZEROEXT_DSZ32(0x000000a8) 
    [00a1e8033cc8] U7d3e:  tmp3:= CONCAT_DSZ16(0x000000e8, tmp3) 
      [180000c0]
    [402147033433] U7d40:  tmp3:= CONCAT_DSZ32(tmp3, 0x00010000) 
    [c04110033cc8] U7d41:  tmp3:= OR_DSZ64(0x00000010, tmp3) 
    [006306032200] U7d42:  tmp2:= READURAM( , 0x0006, 64) 
      [300000c0]
    [008800032c80] U7d44:  tmp2:= ZEROEXT_DSZ16( , tmp2) 
    [1062850f1240] U7d45:  tmp1:= MOVEFROMCREG_DSZ64( , 0x385, 32) !m1 
    [1062810f0240] U7d46:  tmp0:= MOVEFROMCREG_DSZ64( , 0x381, 32) !m1 SEQW GOTO U4d1d
      [11cd1d80]
    [40141e03b23d] U7d48:  tmp11:= BT_DSZ32(tmp13, 0x0000001e) 
    [c0330003bd7b] U7d49:  tmp11:= SELECTCC_DSZ32_CONDNB(tmp11, tmp5) 
    [80250203b23b] U7d4a:  tmp11:= SHR_DSZ32(tmp11, 0x00000002) 
      [300000c0]
    [792950b5033b] U7d4c:  CMPUJNZ_DIRECT_NOTTAKEN(tmp11, 0x00000012, U7d50) !m0,m1,m2 
    [c007fc035d48] U7d4d:  tmp5:= NOTAND_DSZ32(0x000000fc, tmp5) 
    [c001a0035d48] U7d4e:  tmp5:= OR_DSZ32(0x000000a0, tmp5) 
      [300000c0]
    [f92954b503fb] U7d50: SYNCFULL-> CMPUJNZ_DIRECT_NOTTAKEN(tmp11, 0x0000001e, U7d54) !m0,m1,m2 
    [c007fc035d48] U7d51:  tmp5:= NOTAND_DSZ32(0x000000fc, tmp5) 
    [8001a4035d48] U7d52:  tmp5:= OR_DSZ32(0x000000a4, tmp5) 
      [180000c0]
    [c06430035235] U7d54:  tmp5:= SHL_DSZ64(tmp5, 0x00000030) SEQW GOTO U4d38
    [000000000000] U7d55:  NOP 
    [286a1668027f] U7d56:  BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000005, U1a16) !m2 
      [11cd3800]
    [c0484703e010] U7d58:  tmp14:= ZEROEXT_DSZ64(0x00010000) 
    [c0414003ef88] U7d59:  tmp14:= OR_DSZ64(0x00000040, tmp14) 
    [c0440003effe] U7d5a:  tmp14:= AND_DSZ64(tmp14, tmp15) 
      [300000c0]
    [00464703ef90] U7d5c:  tmp14:= XOR_DSZ64(0x00010000, tmp14) 
    [c0620c03f200] U7d5d:  tmp15:= MOVEFROMCREG_DSZ64( , 0x00c) 
    [8047af03f43f] U7d5e:  tmp15:= NOTAND_DSZ64(tmp15, 0x00080000) 
      [300000c0]
    [c0410003effe] U7d60:  tmp14:= OR_DSZ64(tmp14, tmp15) 
    [c0621217f200] U7d61:  tmp15:= MOVEFROMCREG_DSZ64( , 0x512) 
    [01710003fffe] U7d62:  tmp15:= SELECTCC_DSZ64_CONDNZ(tmp14, tmp15) 
      [300000c0]
    [d9290804003f] U7d64:  CMPUJNZ_DIRECT_NOTTAKEN(tmp15, 0x00000000, U2108) !m1 
    [40621017f200] U7d65:  tmp15:= MOVEFROMCREG_DSZ64( , 0x510) SEQW GOTO U32a9
  <match & patch: 0x13ba -> 0x7d66>
    [0042f61c0236] U7d66:  MOVETOCREG_DSZ64(tmp6, 0x7f6) 
      [01b2a940]
    [806322033200] U7d68:  tmp3:= READURAM( , 0x0022, 64) 
    [c06520033233] U7d69:  tmp3:= SHR_DSZ64(tmp3, 0x00000020) 
    [604322035233] U7d6a:  tmp5:= WRITEURAM(tmp3, 0x0022, 64) !m2 
      [300000c0]
    [c00cbccc0200] U7d6c:  SAVEUIP( , 0x01, U13bc) !m0 
    [800404033cc8] U7d6d:  tmp3:= AND_DSZ32(0x00000004, tmp3) 
    [80241d033233] U7d6e:  tmp3:= SHL_DSZ32(tmp3, 0x0000001d) 
      [300000c0]
    [00620407f200] U7d70:  tmp15:= MOVEFROMCREG_DSZ64( , 0x104) 
    [00561f03f23f] U7d71:  tmp15:= BTR_DSZ64(tmp15, 0x0000001f) 
    [290204040ff3] U7d72:  MOVETOCREG_OR_DSZ64(tmp3, 0x104, tmp15) !m2 
      [300000c0]
    [0062c31b3200] U7d74:  tmp3:= MOVEFROMCREG_DSZ64( , 0x6c3) 
    [00160a033233] U7d75:  tmp3:= BTR_DSZ32(tmp3, 0x0000000a) 
    [80040103fd48] U7d76:  tmp15:= AND_DSZ32(0x00000001, tmp5) 
      [300000c0]
    [40240a03f23f] U7d78:  tmp15:= SHL_DSZ32(tmp15, 0x0000000a) 
    [e902c3180ff3] U7d79: SYNCFULL-> MOVETOCREG_OR_DSZ64(tmp3, 0x6c3, tmp15) !m2 SEQW URET1
    [100a00000380] U7d7a:  TESTUSTATE( , SYS, 0xc000) !m1 ? SEQW GOTO U7d86
      [18fd868d]
    [60635303e200] U7d7c:  tmp14:= READURAM( , 0x0053, 64) !m2 
    [f86b86b5023e] U7d7d: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp14, 0x00000002, U7d86) !m0,m1,m2 
    [2d0b083be00a] U7d7e:  tmp14:= PORTIN_DSZ32_ASZ16_SC1(0x4e08) !m2 
      [388000c0]
    [786b7e35003e] U7d80: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp14, 0x00000000, U7d7e) !m1,m2 
    [40070e03e23e] U7d81:  tmp14:= NOTAND_DSZ32(tmp14, 0x0000000e) 
    [400813030008] U7d82:  tmp0:= ZEROEXT_DSZ32(0x00000013) 
      [180000c0]
    [80a100070c08] U7d84:  tmp0:= CONCAT_DSZ16(0x00000100, tmp0) 
    [c151a070027e] U7d85: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp14, U3ca0) 
    [80630d03e200] U7d86:  tmp14:= READURAM( , 0x000d, 64) 
      [388000c0]
    [00880003e03e] U7d88:  tmp14:= ZEROEXT_DSZ16(tmp14) SEQW GOTO U0414
    [000000000000] U7d89:  NOP 
  <match & patch: 0x6c4a -> 0x7d8a>
    [c06507034234] U7d8a:  tmp4:= SHR_DSZ64(tmp4, 0x00000007) 
      [21841400]
    [c00001034d08] U7d8c:  tmp4:= ADD_DSZ32(0x00000001, tmp4) 
    [800401033d88] U7d8d:  tmp3:= AND_DSZ32(0x00000001, tmp6) 
    [002404033233] U7d8e:  tmp3:= SHL_DSZ32(tmp3, 0x00000004) 
      [300000c0]
    [c00100033d33] U7d90:  tmp3:= OR_DSZ32(tmp3, tmp4) 
    [40241b033233] U7d91:  tmp3:= SHL_DSZ32(tmp3, 0x0000001b) 
    [400100031c73] U7d92:  tmp1:= OR_DSZ32(tmp3, tmp1) 
      [300000c0]
    [c00001034d08] U7d94:  tmp4:= ADD_DSZ32(0x00000001, tmp4) 
    [42e400034d74] U7d95:  tmp4:= unk_2e4(tmp4, tmp5) 
    [c06320035200] U7d96:  tmp5:= READURAM( , 0x0020, 64) 
      [300000c0]
    [4004fc7f3d4b] U7d98:  tmp3:= AND_DSZ32(0x00007ffc, tmp5) 
    [402501033233] U7d99:  tmp3:= SHR_DSZ32(tmp3, 0x00000001) 
    [400030033cc8] U7d9a:  tmp3:= ADD_DSZ32(0x00000030, tmp3) 
      [300000c0]
    [c06500035cf5] U7d9c:  tmp5:= SHR_DSZ64(tmp5, tmp3) 
    [c00703035235] U7d9d:  tmp5:= NOTAND_DSZ32(tmp5, 0x00000003) 
    [c0041e033d88] U7d9e:  tmp3:= AND_DSZ32(0x0000001e, tmp6) 
      [300000c0]
    [402501033233] U7da0:  tmp3:= SHR_DSZ32(tmp3, 0x00000001) 
    [400009033cc8] U7da1:  tmp3:= ADD_DSZ32(0x00000009, tmp3) 
    [c13100035cf5] U7da2:  tmp5:= SELECTCC_DSZ32_CONDNZ(tmp5, tmp3) SEQW GOTO U6c58
      [31ec5880]
  <match & patch: 0x4d5e -> 0x7da4>
    [8062fe1f1200] U7da4:  tmp1:= MOVEFROMCREG_DSZ64( , 0x7fe) 
    [e38000031c40] U7da5:  tmp1:= READAFLAGS( , tmp1) !m2 
    [0c4b8027b000] U7da6:  tmp11:= RDSEGFLD(UNK_SEG_09, SEL) 
      [300000c0]
    [8c4b802b0000] U7da8:  tmp0:= RDSEGFLD(SS_USERM, SEL) 
    [c0a100030ef0] U7da9:  tmp0:= CONCAT_DSZ16(tmp0, tmp11) 
    [002100031c70] U7daa:  tmp1:= CONCAT_DSZ32(tmp0, tmp1) 
      [300000c0]
    [8c4b802fb000] U7dac:  tmp11:= RDSEGFLD(DS, SEL) 
    [0c4b80230000] U7dad:  tmp0:= RDSEGFLD(ES, SEL) 
    [c0a100030ef0] U7dae:  tmp0:= CONCAT_DSZ16(tmp0, tmp11) 
      [300000c0]
    [0c4b8033b000] U7db0:  tmp11:= RDSEGFLD(FS, SEL) 
    [8c4b80372000] U7db1:  tmp2:= RDSEGFLD(GS, SEL) 
    [c0a100032ef2] U7db2:  tmp2:= CONCAT_DSZ16(tmp2, tmp11) 
      [300000c0]
    [802100030c32] U7db4:  tmp0:= CONCAT_DSZ32(tmp2, tmp0) 
    [800e01000200] U7db5:  WRMSLOOPCTRFBR( , 0x00000001) SEQW SAVEUIP0 U7db6SEQW GOTO U0051
    [806320034200] U7db6:  tmp4:= READURAM( , 0x0020, 64) 
      [31805151]
    [8007d8074d10] U7db8:  tmp4:= NOTAND_DSZ32(0x60000000, tmp4) 
    [c062091b3200] U7db9:  tmp3:= MOVEFROMCREG_DSZ64( , 0x609) 
    [40620a1b2200] U7dba:  tmp2:= MOVEFROMCREG_DSZ64( , 0x60a) 
      [300000c0]
    [80620d071200] U7dbc:  tmp1:= MOVEFROMCREG_DSZ64( , 0x10d) 
    [00620e070200] U7dbd:  tmp0:= MOVEFROMCREG_DSZ64( , 0x10e) 
    [000c68340280] U7dbe:  SAVEUIP( , 0x00, U4d68) 
      [300000c0]
    [800e04000200] U7dc0:  WRMSLOOPCTRFBR( , 0x00000004) SEQW GOTO U0051
    [000000000000] U7dc1:  NOP 
    [00a10f194008] U7dc2:  tmpv0:= CONCAT_DSZ16(0x0000060f) 
      [21805100]
    [000103014214] U7dc4:  tmpv0:= OR_DSZ32(tmpv0, 0x00000003) SEQW GOTO U7c38
    [000000000000] U7dc5:  NOP 
    [406322035200] U7dc6:  tmp5:= READURAM( , 0x0022, 64) 
      [31fc3800]
    [40c800035035] U7dc8:  tmp5:= ZEROEXT_DSZ8(tmp5) SEQW GOTO U1526
    [000000000000] U7dc9:  NOP 
    [c053111c0278] U7dca:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp8, U2711) 
      [31952600]
    [000869335008] U7dcc:  tmp5:= ZEROEXT_DSZ32(0x00000c69) SEQW GOTO U1526
    [000000000000] U7dcd:  NOP 
    [000000000000] U7dce:  NOP 
      [31952600]
    [6d0ba01b500a] U7dd0:  tmp5:= PORTIN_DSZ32_ASZ16_SC1(0x46a0) !m2 SEQW GOTO U1526
    [000000000000] U7dd1:  NOP 
    [000000000000] U7dd2:  NOP 
      [31952600]
[2742] write uram - size: 0x0001
    uram[0x005c] = (uram[0x005c] & 0xffffffffffffffff) | 0x80
[2759] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x22e9] = (crbus[0x22e9] & 0xfffffffffffffbff) | 0x0
[2770] write uram - size: 0x0001
    uram[0x005c] = (uram[0x005c] & 0xffffffffffffffff) | 0x200000000000
[2787] write crbus - size: 0x0002
    crbus[0x063b] = (crbus[0x063b] & 0xffffffffffffffff) | 0x80000000
    crbus[0x0104] = (crbus[0x0104] & 0xffffffffffffffff) | 0x2000000000000
[27b2] if TESTUSTATE( , SYS, !0x4000) skip to 0x27cc
[27b7] write stgbuf - size: 0x0001
    stgbuf[0x01e0] = (stgbuf[0x01e0] & 0xffffffffffffffff) | 0x2000000000000
[27cc] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x239e] = (crbus[0x239e] & 0xffffffff3fffffff) | 0x30000000
[27e3] if TESTUSTATE( , SYS, !0x4000) skip to 0x27fd
[27e8] write stgbuf - size: 0x0001
    stgbuf[0x0200] = (stgbuf[0x0200] & 0x3fffffffffffffff) | 0x3000000000000000
[27fd] write crbus - size: 0x0001
    crbus[0x0074] = (crbus[0x0074] & 0xffffffffffffffff) | 0x1e
[2814] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x2388] = (crbus[0x2388] & 0xffffffffffffffff) | 0x80
[282b] write uram - size: 0x0001
    uram[0x0034] = (uram[0x0034] & 0x00000000ffffffff) | 0x400000000
[2842] if (uram[0x53] >> 2) & 1 skip to 0x284d
[2847] if (stgbuf[0x1a0] >> 32) & 00 skip to 0x2884
[284d] write uram - size: 0x0001
    uram[0x0053] = (uram[0x0053] & 0xfffffffffffffffe) | 0x0
[2864] if TESTUSTATE( , SYS, !0xc000) skip to 0x2884
[2869] portout(0x40, 2) - size: 0x0002
    port[0x40004e18] = (port[0x40004e18] & 0x000000003fffffff) | 0x0
    port[0x40004e0c] = (port[0x40004e0c] & 0x0000000000000000) | 0x44100
[2884] if TESTUSTATE( , SYS, !0x4000) skip to 0x289e
[2889] write stgbuf - size: 0x0001
    stgbuf[0x01e0] = (stgbuf[0x01e0] & 0xffffffffffffffff) | 0x20000000
[289e] write crbus - size: 0x0001
    crbus[0x0692] = (crbus[0x0692] & 0x00000000fffffffe) | 0x0
[28b5] END
