
[../../libraries/ucode_collection/cpu506F1_plat01_ver0000002E_2019-03-21_PRD_4F7008D6.bin]
    CPU: 0x506f1
    size: 0x2600
    rev: 0x2e
    VCN: 0x3
    release date: 2019-03-21
    compilation date: 2019-03-20
    RC4 nonce: 812476c98f0ea67019e026619a64d111da0150e471a660ed42da4426ec1ece57
    RSA mod: 0xae2a7dc528d6cda6f4938917c8c6461caaedbe654d8eb00bfbebd9ff303908c80588b3ed3e2f5dd7e96d314e7d6d2bde2abf2dbd936e22fbaaa883b684196c817373e9cc17fdc1b5867a61ad64fc244ce8e80015d1bbc1305e642ede71405d057949fc8512a6672b7070b208988a8cea7a15bea945335b5600b5bd8d5f83eedca55a72be22a9adf120448e6f94fc6bbbce97cfdfaf4091a44b79da06aced6645c4c019f2ebf33aee99da4ba046a18705198a7826cd3768fab61be50b92843431c6d061e3cb5082792b8ca24d433f1af90fc9ea2f7c7b24236f20b8d502f3c1409af9139a48498cbbace88a6c7ab0a8d37d6413a0d8779cb0023d3531d727a3b1
    RSA exp: 17
    RSA sig: 7ba132683fed9070fcc31c87470750541f7587be65f771a4a0f5d4291972aa04f4d60e56a0a456bfddf71a6c5c71013a3513b4616a44d2b89c640484db8285acd24be0200b743f3c79cebce3107791f8d1b0c541a677a04a24af4095ead56b57762152cafc447173207277a4d43eb984f1046e29884eb3de42fa26ba18cf2cbcfe17a6c8114d1e74a2bc915d60de08b1dbe4515f1edce332770cb6d9da8ea8fdd1f0f71afb14a16704f9172ad3f8820fa7379845b59a037eb1a30b822348a205157e027ce350f03c5cedf925ce9070e78a0884034a4a04bb46b6c4222ec1b147678c38ceab61616a7ffef9f512edd0477294e77806bb1d02175ca786fd3149ea
    plain sig: 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004f397a88d2cec9c849f6b72b9d5918a04f8b091eb73eba97b34e10e620d19ed2

UCODE:
[0000] initialize arrays
[0001] install addr: 0x7c00 - size 0x0039
    [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]
[01ce] invoke addr: 0x7c2a
[01d1] invoke addr: 0x7c04
[01d4] invoke addr: 0x7c16
[01d7] invoke addr: 0x7c00
[01da] invoke addr: 0x7c1e
[01dd] initialize arrays
[01de] write match & patch - size: 0x0002
    [0000000000000000]
    [000000003e005c97] 0x5c96 -> 0x7c00
[01f1] 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]
[020e] write crbus - size: 0x0001
    crbus[0x0692] = (crbus[0x0692] & 0xfffffffffffffffe) | 0x0
[0225] if TESTUSTATE( , SYS, !0xc000) skip to 0x18e6
[022a] if send_op_pcu_mailbox(0x1, 0x002e) skip to 0x18e6
[0233] send_op_pcu_mailboxes - size: 0x0002
    send_op_pcu_mailbox(0x7, 0000 | (0000 & send_op_pcu_mailbox(0x5, 5ce8)))
    send_op_pcu_mailbox(0x7, 002e | (0000 & send_op_pcu_mailbox(0x5, 007c)))
[024a] send_op_pcu_mailbox(0x02, 0x0000)
[0250] send_op_pcu_mailbox(0xf, ??)
[0251] portout(0x4910, 0x40, 0x0b80)
    000000008000447c
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
    0000655437a630c0
    000000000000651a
    0001a80400000000
    0001a82c00000000
    0000000000000000
    000000000001a820
    0001a81e0001a81c
    000000000001a81a
    0000000000000000
    0001a81800000000
    0001a82a00000000
    0001a80000000000
    0000000000000000
[0340] portout(0x4910, 0x40, 0x0d00)
    000000008400dc66
[034f] portout(0x4910, 0x40, 0x0d28)
    09725c5a9513a824
    8747dc658740dc65
    8757dc658751dc65
    875ddc65875ddc65
    0aceb3aceb372571
    878cdc658785dc65
    8790dc658790dc65
    8790dc658790dc65
[0396] portout(0x4910, 0x40, 0x0d40)
    0585615856158561
    879adc65879adc65
    879adc65879adc65
    879adc65879adc65
    09ea7a9ea7a9e98c
    87aedc6587a4dc65
    87aedc6587aedc65
    87aedc6587aedc65
[03dd] portout(0x4910, 0x40, 0x0d54)
    01e0761984f1241b
    87c7dc6587bedc65
    87cfdc6587cbdc65
    87f7dc6587f1dc65
    05c1705c1705c170
    8409dc668409dc66
    8409dc668409dc66
    8409dc668409dc66
[0424] portout(0x4910, 0x40, 0x0d64)
    0294a5294a515c08
    8418dc668412dc66
    841cdc66841cdc66
    841cdc66841cdc66
[044b] portout(0x4910, 0x40, 0x0d6c)
    0b1ec7b1ec7b1e0f
    844cdc66842bdc66
    844cdc66844cdc66
    844cdc66844cdc66
    024c9324c9324c93
    8451dc668451dc66
    8451dc668451dc66
    8451dc668451dc66
    03d0f43d0f43d087
    8460dc668453dc66
    8460dc668460dc66
    8460dc668460dc66
    015c5715c5715c57
    84dbdc6684dbdc66
    84dbdc6684dbdc66
    84dbdc6684dbdc66
[04d2] portout(0x4910, 0x40, 0x0d80)
    00ec3b0ec3b0ec3b
    84dfdc6684dfdc66
    84dfdc6684dfdc66
    84dfdc6684dfdc66
    0150541505415003
    84f0dc6684eadc66
    84f0dc6684f0dc66
    84f0dc6684f0dc66
[0519] portout(0x4910, 0x40, 0x0d98)
    0865ce584b912823
    8533dc668523dc66
    8546dc66853ddc66
    8552dc66854edc66
[0540] portout(0x4910, 0x40, 0x0da0)
    03b8ee3b8ee2ac02
    8564dc668557dc66
    856adc66856adc66
    856adc66856adc66
[0567] portout(0x4910, 0x40, 0x0da8)
    048521485211c438
    8578dc668571dc66
    857cdc66857cdc66
    857cdc66857cdc66
[058e] portout(0x4910, 0x40, 0x0db0)
    08ae2b8ae2b04005
    8588dc66857edc66
    8592dc668592dc66
    8592dc668592dc66
[05b5] portout(0x4910, 0x40, 0x0db8)
    09e2789e2789e278
    859adc66859adc66
    859adc66859adc66
    859adc66859adc66
[05dc] portout(0x4910, 0x40, 0x0dc4)
    0100401004010000
    85aedc6685a2dc66
    85aedc6685aedc66
    85aedc6685aedc66
    00c8320c8320c832
    85b9dc6685b9dc66
    85b9dc6685b9dc66
    85b9dc6685b9dc66
[0623] portout(0x4910, 0x40, 0x0dd0)
    8c2ddc06300fcc4f
    0a5f8425dc06cc06
    538a550af7ffe28f
    dc060a6af5ea501a
    dc06ea0fc82f84eb
    c82f8553dc06a568
    dc06a57cdc06ea0f
    528f9767ac0e856c
    f8bf8b67f1ef518f
    0aeef6fbf6f6a767
    0afcb031cc4e8f83
    e59ce19cb0d9cc07
    938309cfe58fe18f
    8b830afcb030cc4e
    09fbe06fb175cc0a
    af1ff6cfe07c9f83
    dc06f6f69b83f8bf
    dc07300fcc4f8665
    8572dc07cc078d76
    85cadc075009e618
    dc0354ab8b97c80f
    cc0a86b5dc0780a0
    a3a1ead986b4dc07
    dc0c0af9af8fb629
    8562dc0ce0898563
    b01f8baa3009cc4f
    7380cc07b81f201f
    3009cc4f858ddc0d
    cc078bb6b01f8bba
    b81fb01c868bdc0d
    5016cc078183dc75
    cc4e328d867bdc0d
    cc03715d500d7139
    0e4f841cdc11500d
    0e4f844adc1109fa
    cc4e8450dc1109fa
    5d8f7118712a710f
    0e4ffa7ff2ef518f
    501f538f550f0af9
    313a0e4ffa7ff2ef
    098a0dfa0d9a0aa8
    e63d8fe809fa8beb
    310fe62d8feb099a
    dc1109fa3118312a
    715f504fcc4e8467
    cc4e8477dc11e62d
    dc11e63d715f508f
    0000000000008479
    315ce83fe82fcc4e
    dc11fe8fcc03ffcf
    880e300ecc4f847d
    0afecc0d85c0dc12
    300ccc4f8571dc12
    840ddc1557ff8816
    8458dc15220b5309
    cc028827300ccc4f
    cc4f0a9fb9660adf
    cc028037dc75b81a
    cc4d84a6dc15b545
    8c33b0dc88493367
    3339843533453329
    a849087d0f7b3355
    a03681f8dc1705d7
    5048736f05df336f
    8257dc170adb0a5a
    8272dc1704b65006
    8610dc17cc138436
    dc1772dccc04e85c
    b07c8430dc7a86ca
    5006885b300fcc4f
    0a6f500950085007
    8488dc19b87ccc16
    55875a078030dc7a
    558c5d4c55835903
    55855b85558b5ecb
    558256c255845a84
    500f510f509f330d
    a8d90816d17f5d8f
    f06a0af9f2670561
    f567af8fe33f0afe
    0af8f063af890cf9
    0cf8f363aedf0aef
    ee2ffcf8f062aed8
    fcf8f16520185008
    f7f8e298a895e17f
    2018e1f850188498
    90a0e09ffb9ff064
    84a4500890a4f6f8
    20185008a4a4f6f8
    b62aee268cc8f16c
    ee3faf8fb62984aa
    ee16faef529e131f
    dc190a9e0af284c8
    e14ffcfe0a8e81ed
    84c1f7efe2cea8bc
    0a9ef6f9501f500f
    f8f2fcfe31ae84b3
    cc160e2fb543cc02
    f7f8e2d8e13ffcf8
    f7f8e3a8e06ffcd8
    d1aff36bf68ff06b
    824fdc12d19f0a6f
    dc7a856cdc198476
    cc4f8461dc1a8030
    3547cc0288e7300f
    cc02b819cc4ff2d7
    e60fb71d843cdc1c
    8404dc1dcc05bf1d
    80b8dc1d53290af6
    05d69cf2f0d7086d
    500c0af6c58f8cf2
    05d68063dc0f086d
    dc1d0af6c58f8cfc
    9d03f0d7086d80b8
    80b8dc1d0af6c58f
    501aa86cdc1d0868
    50fb580a500a506a
    f68a530b524b500b
    dc03e2a8ff8be0a8
    0586a10aebfc81ac
    cc4f846cdc1d8d0a
    b166cc02892f300c
    cc4ff2e835480afe
    cc028037dc75b818
    cc4f8424dc22ea32
    dc7554de8939300c
    dc22b2b0cc0286c0
    cc02300ccc4f844b
    e672841ddc228943
    b46fcc4d84badc22
    bd15cc020a6ff6f6
    5287208f8562dc22
    e50fe10f85cfdc22
    cc4f861adc22f6f9
    8448dc24895c300f
    501750078049dc24
    8407dc24520a5c4a
    fffec58fa4aedc24
    300fcc4f84aedc24
    dc008271dc75896f
    501fa575e90c84c5
    8439dc2632efb8e8
    84b6dc268000dc76
    b0ae72fc8523dc26
    72dce01c72ec8983
    840adc2872cce01c
    898e300fcc4fb0aa
    c90fcc088447dc28
    300fcc4f8411dc28
    cc088638dc288997
    f3e80acf862cdc28
    101ef3e80adf101e
    300fcc4f84c5dc00
    500f500989abcc02
    b1958405dc2db995
    555f540f8401dc2d
    ac0f500e8058dc03
    dc2d350f9847dc2d
    a1beea3fa1be8441
    dc2ee605a5bfea2f
    0000000000008434
[0b32] portout(0x4910, 0x44, 0x0200)
    8677dc2a8000dc7a
    8015dc7a8348dc75
    8019dc7a8000dc78
    8000dc77801edc7a
    8023dc7a835cdc75
    8406dc008000dc75
    8538dc7a8452dc7a
    8540dc7a8554dc7a
    8360dc758000dc79
    832adc758173dc7a
    8400dc7b86b8dc17
    84dfdc07806bdc79
[0b99] 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
[1280] 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
[132f] portout(0x4910, 0x44, 0x0f00)
    5008a40fea0fc80f
    500a506a54ba5109
    568b500b50fb580a
    0f788095dc0354bb
[1356] portout(0x4910, 0x48, 0x0000)
    8058dc03524f5b5f
    000000000f78bf2a
[136d] 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
    b6700f788c610598
    a482ea2fa482ea1f
    ac2f8882b055cc08
    68ec8092dc028882
    dc0260e631aa500b
    e85fb6708c828066
    00000f78be70a478
[147c] 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
    8863239f0abf885b
    0abf846188ce201f
    23df0abf890823cf
    0ae78413dc298910
    ee1e80f70af8b68a
    88b9ac07ee3784f5
    40965008500684f5
    e587e1070a974898
    ac1694f509c8540c
    5ffb580b57fc94f5
    f68a0a7a5ffb5ffb
    09b794f509ca201a
    fac6501c500c9cf5
    f656501553c55205
    50fd500ff6761807
    f3d5501553455885
    f585f2862018ec0d
    500a501a546aec18
    e10750875076581a
    500b5ffbfc7e0a6e
    0a58f6eb571b570b
    608df6e8e03e0a6e
    0a97ecd68073dc03
    dc75500f0a7caf07
    0afeff7fe10f8116
    ac164096500684cc
    501853c850e894f5
    e08faf870a97f168
    dc75500f0a7cfff7
    0afeff7fe18f8116
    0af8b68a8712dc29
    cc0284f5ee1e80f7
    31bc31cdcc02b27c
    42fc41dcaf8caf8d
    0afdb018cc4f0ac7
    42fdb01a41fdb019
    8116dc75500f0ad8
    0af68116dc750a8c
    dc0355db0a8d0a7c
    dc29e10e0a6e80a2
    0a8c870cdc298712
    8116dc75500faf0c
    8116dc75ae8c0a9c
    500eaf8ce38c0a9c
    0f78501e890709cf
    cc4d8f0edc290aee
    8712dc290afeb0dd
    a451dc29ea0fc80f
    dc290aee892dac1e
    fe9e0f0e5ffe8f0e
    532eaf898f0cdc29
    cc4d970cdc2909e9
    faef583eb8dd0a9f
    dc29bc6f101fe24f
    970cdc29ac098711
    0a9f736fcc4dc10f
    852b820fdc17b8dc
    dc17893d22bf0abf
    85e0dc1750498477
    dc1c8947221f0aef
    5fff8736dc1c868e
    cc008d45fecf0f0f
    56cb954509fcb01c
    8733dc1c80a1dc03
    0adf8d5b233f0aef
    dc1c895dac1faf8f
    dc1cac7de28d8580
    501e5f1e580e9285
    dc1c505f9d69f0de
    0afcf0de140e8686
    f3de240ef3de500f
    540f8681dc1c0acf
    ac0f8058dc03555f
    501f55cf529f9d80
    771f770f76ffcc11
    0000000000000f78
[178b] portout(0x4910, 0x48, 0x0300)
    568d500d80f6dc00
    80b6dc10558c500c
    510c500ce0cd512d
    501fcc4f80b6dc10
    500f541f540f7fcf
    d00755c75007580f
    57bfd227565f51af
    5008584f540f5dcf
    84c7dc10d0085688
[17da] portout(0x4910, 0x48, 0x0310)
    b791d11fff9fc11f
    dc00bf91e63fe62f
    50185fe85288808c
    8078501fd0080a9f
    bf91e83fe82fb791
    0a9d501e5fee53ce
    80a2dc0050ca0a9c
    827ddc108091dc00
    8066dc7b81fadc10
    80f6dc008546dc10
    51f7500f8102dc00
    ec07f37856885008
    73afcc175fff5fff
    0f787fcf500fcc4f
    0f7b0f7bfaef559e
    0f78a47a201f0f7b
[1861] portout(0x4910, 0x48, 0x0699)
    000000000003ffff
    000000fe0000ffff
    0000000000000000
[1880] portout(0x4910, 0x48, 0x0707)
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000ffffff
[18a7] portout(0x4910, 0x48, 0x0780)
    0000000000000000
    0000000000000000
    0000000000000000
    0000000000000000
[18ce] portout(0x4910) END
[18cf] send_op_pcu_mailboxes - size: 0x0002
    send_op_pcu_mailbox(0x7, 002e | (0000 & send_op_pcu_mailbox(0x5, 5ce8)))
    send_op_pcu_mailbox(0x7, 0000 | (0000 & send_op_pcu_mailbox(0x5, 007c)))
[18e6] initialize arrays
[18e7] write match & patch - size: 0x0019
    [0000000000000000]
    [1f3f30f7be923ae5] 0x3ae4 -> 0x7d24
    [1f07032ebe5969f3] 0x69f2 -> 0x7cb2
    [1f178a2bbe031a1f] 0x1a1e -> 0x7c06
    [1f21903cbe41290b] 0x290a -> 0x7c82
    [1f0b06c7be31558f] 0x558e -> 0x7c62
    [1f228d18be4f66c3] 0x66c2 -> 0x7c9e
    [1f23bca5be3323ab] 0x23aa -> 0x7c66
    [1f000d0abe2a4911] 0x4910 -> 0x7c54
    [1f0122c4be505d4b] 0x5d4a -> 0x7ca0
    [1f062a07be2668c5] 0x68c4 -> 0x7c4c
    [1f53908fbe353c0f] 0x3c0e -> 0x7c6a
    [1f24b4d7be714f77] 0x4f76 -> 0x7ce2
    [1f3c861fbe3b01cf] 0x01ce -> 0x7c76
    [1f1b89a1be862e21] 0x2e20 -> 0x7d0c
    [1f1ca893be816f6b] 0x6f6a -> 0x7d02
    [1f25948dbeaf13bb] 0x13ba -> 0x7d5e
    [1f2b01c5be3d6639] 0x6638 -> 0x7c7a
    [1f2e90b9be4d0cd3] 0x0cd2 -> 0x7c9a
    [1f50269bbe99345b] 0x345a -> 0x7d32
    [1f3a9d4fbece4d5f] 0x4d5e -> 0x7d9c
    [1f5caf32bec16c4b] 0x6c4a -> 0x7d82
    [1f3299d4be61318d] 0x318c -> 0x7cc2
    [1f2b9da1be6931a5] 0x31a4 -> 0x7cd2
    [1f1f9828be8c2d37] 0x2d36 -> 0x7d18
[19b2] install addr: 0x7c00 - size 0x0156
  <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) 
    [00650103f235] U7c12:  tmp15:= SHR_DSZ64(tmp5, 0x00000001) 
      [3460b500]
    [8151111c027f] U7c14:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp15, U2711) 
    [0053b50002ff] U7c15:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp15, U60b5) 
    [c00cb50002c0] U7c16:  SAVEUIP( , 0x00, U60b5) SEQW GOTO U7cf6
      [31fcf680]
    [c1300803a231] U7c18:  tmp10:= SELECTCC_DSZ32_CONDZ(tmp1, 0x00000008) 
    [800100032cba] U7c19:  tmp2:= OR_DSZ32(tmp10, tmp2) 
    [41312003a238] U7c1a:  tmp10:= SELECTCC_DSZ32_CONDNZ(tmp8, 0x00000020) SEQW GOTO U5410
      [11d41080]
    [0fff00000000] U7c1c: SYNCFULL-> SFENCE() 
    [89628903f200] U7c1d:  tmp15:= MOVETOCREG_BTS_DSZ64( , 0x089) 
    [e0628903f200] U7c1e:  tmp15:= MOVEFROMCREG_DSZ64( , 0x089) !m2 
      [180000c0]
    [686afc69023f] U7c20: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000001, U5afc) !m2 SEQW GOTO U7c1e
    [0008ff7f100b] U7c21:  tmp1:= ZEROEXT_DSZ32(0x00007fff) 
    [406426031231] U7c22:  tmp1:= SHL_DSZ64(tmp1, 0x00000026) 
      [387c1e00]
    [c04400031d71] U7c24:  tmp1:= AND_DSZ64(tmp1, tmp5) 
    [c17e00031cb1] U7c25:  tmp1:= MOVEMERGEFLGS_DSZ64(tmp1, tmp2) 
    [017400035d71] U7c26:  tmp5:= CMOVCC_DSZ64_CONDZ(tmp1, tmp5) 
      [300000c0]
    [40050903dc88] U7c28:  tmp13:= SUB_DSZ32(0x00000009, tmp2) 
    [c17e00031f71] U7c29:  tmp1:= MOVEMERGEFLGS_DSZ64(tmp1, tmp13) 
    [017400035d71] U7c2a:  tmp5:= CMOVCC_DSZ64_CONDZ(tmp1, tmp5) SEQW GOTO U7cd6
      [11fcd680]
    [c06213174200] U7c2c:  tmp4:= MOVEFROMCREG_DSZ64( , 0x513) 
    [2a6213540734] U7c2d: LFNCEMARK-> MOVETOCREG_BTR_DSZ64(tmp4, 0x00000031, 0x513) !m2 
    [800800000000] U7c2e:  NOP 
      [048000c0]
    [69620bc00240] U7c30: LFNCEWTMRK-> MOVETOCREG_BTS_DSZ64( , 0x00000007, 0x00b) !m0,m2 SEQW GOTO U0d90
    [40a10f1d4008] U7c31:  tmpv0:= CONCAT_DSZ16(0x0000070f) 
    [800101014214] U7c32:  tmpv0:= OR_DSZ32(tmpv0, 0x00000001) 
      [260d9000]
    [406320015200] U7c34:  tmpv1:= READURAM( , 0x0020, 64) 
    [00e146015215] U7c35:  tmpv1:= CONCAT_DSZ8(tmpv1, 0x00000046) 
    [c06430015215] U7c36:  tmpv1:= SHL_DSZ64(tmpv1, 0x00000030) 
      [300000c0]
    [c04100015557] U7c38:  tmpv1:= OR_DSZ64(tmpv3, tmpv1) 
    [10622f097240] U7c39:  tmpv3:= MOVEFROMCREG_DSZ64( , 0x22f, 32) !m1 
    [786a39310217] U7c3a: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmpv3, 0x00000000, U7c39) !m1,m2 
      [090000c0]
    [19022ec80200] U7c3c:  MOVETOCREG_OR_DSZ64( , 0x00000003, 0x22e) !m0,m1 SEQW GOTO U3b2e
    [c0080003c03d] U7c3d:  tmp12:= ZEROEXT_DSZ32(tmp13) 
    [c008a01bb00a] U7c3e:  tmp11:= ZEROEXT_DSZ32(0x000046a0) 
      [21bb2e00]
    [400deff00340] U7c40:  SAVEUIP_REGOVR( , 0x01, U7c41, 0xbcef) !m0 SEQW GOTO U7c31
    [c0082b03c008] U7c41:  tmp12:= ZEROEXT_DSZ32(0x0000002b) 
    [80151f03c23c] U7c42:  tmp12:= BTS_DSZ32(tmp12, 0x0000001f) 
      [01fc3100]
    [8008a41bb00a] U7c44:  tmp11:= ZEROEXT_DSZ32(0x000046a4) 
    [400deff00340] U7c45:  SAVEUIP_REGOVR( , 0x01, U7c46, 0xbcef) !m0 SEQW GOTO U7c31
    [b0422e080240] U7c46:  MOVETOCREG_DSZ64( , 0x00000000, 0x22e, 32) !m1,m2 
      [11fc3140]
    [805200000eba] U7c48: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp10, tmp10) 
    [c0652003d23d] U7c49:  tmp13:= SHR_DSZ64(tmp13, 0x00000020) 
    [033a0003a03a] U7c4a:  tmp10:= STC(tmp10) SEQW GOTO U7cec
      [387cec80]
  <match & patch: 0x68c4 -> 0x7c4c>
    [800c527002c0] U7c4c:  SAVEUIP( , 0x00, U7c52) 
    [800a80800200] U7c4d: SYNCWAIT-> TESTUSTATE( , UCODE, !0x0080) !m0 ? SEQW GOTO U7c51
    [800800000000] U7c4e:  NOP 
      [3afc5140]
    [400a40800200] U7c50:  TESTUSTATE( , UCODE, !0x0040) !m0 ? SEQW URET0
    [40320003df7c] U7c51:  tmp13:= SELECTCC_DSZ32_CONDB(tmp12, tmp13) 
    [000100034f74] U7c52:  tmp4:= OR_DSZ32(tmp4, tmp13) SEQW GOTO U68c6
      [21e8c688]
  <match & patch: 0x4910 -> 0x7c54>
    [9042f1080240] U7c54:  MOVETOCREG_DSZ64( , 0x00000000, 0x2f1, 32) !m1 
    [80430f080200] U7c55:  WRITEURAM( , 0x00000000, 0x000f, 32) 
    [ed0fc8000008] U7c56:  PORTOUT_DSZ32_ASZ16_SC1(0x00c8,  , 0x00000000) !m2 
      [300000c0]
    [00484867000b] U7c58:  tmp0:= ZEROEXT_DSZ64(0x00007948) 
    [c00a00400200] U7c59:  TESTUSTATE( , UCODE, 0x1000) ? SEQW GOTO U4940
    [800800000000] U7c5a:  NOP 
      [11c94040]
    [1902f2880200] U7c5c:  MOVETOCREG_OR_DSZ64( , 0x00000002, 0x2f2) !m0,m1 SEQW GOTO U4915
    [000000000000] U7c5d:  NOP 
    [9042f1080240] U7c5e:  MOVETOCREG_DSZ64( , 0x00000000, 0x2f1, 32) !m1 
      [01c91500]
    [0e750003003c] U7c60: LFNCEMARK-> tmp0:= LDSTGBUF_DSZ64_ASZ16_SC1(tmp12) SEQW GOTO U1458
    [000000000000] U7c61:  NOP 
  <match & patch: 0x558e -> 0x7c62>
    [80210003fcbf] U7c62:  tmp15:= CONCAT_DSZ32(tmp15, tmp2) 
      [34145800]
    [c0563103f23f] U7c64:  tmp15:= BTR_DSZ64(tmp15, 0x00000031) SEQW GOTO U5590
    [000000000000] U7c65:  NOP 
  <match & patch: 0x23aa -> 0x7c66>
    [d962dd480300] U7c66:  MOVETOCREG_BTS_DSZ64( , 0x00000011, 0x2dd) !m1 
      [01d59000]
    [e86a3c29027e] U7c68:  BTUJB_DIRECT_NOTTAKEN(tmp14, 0x00000004, U5a3c) !m2 SEQW GOTO U23ac
    [000000000000] U7c69:  NOP 
  <match & patch: 0x3c0e -> 0x7c6a>
    [006212173200] U7c6a:  tmp3:= MOVEFROMCREG_DSZ64( , 0x512) 
      [11a3ac00]
    [204212140200] U7c6c:  MOVETOCREG_DSZ64( , 0x00000000, 0x512) !m2 SEQW GOTO U3c10
    [000000000000] U7c6d:  NOP 
    [804267000234] U7c6e:  MOVETOCREG_DSZ64(tmp4, 0x067) 
      [21bc1000]
    [c00c444c0200] U7c70:  SAVEUIP( , 0x00, U1344) SEQW GOTO U7cf5
    [000000000000] U7c71:  NOP 
    [c04213140200] U7c72:  MOVETOCREG_DSZ64( , 0x00000000, 0x513) 
      [21fcf500]
    [c00c28440280] U7c74:  SAVEUIP( , 0x00, U5128) SEQW GOTO U7cf5
    [000000000000] U7c75:  NOP 
  <match & patch: 0x01ce -> 0x7c76>
    [804900035030] U7c76:  tmp5:= MOVE_DSZ64(tmp0) 
      [21fcf500]
    [400c61640200] U7c78:  SAVEUIP( , 0x00, U1961) SEQW GOTO U7cf5
    [000000000000] U7c79:  NOP 
  <match & patch: 0x6638 -> 0x7c7a>
    [000407033048] U7c7a:  tmp3:= AND_DSZ32(0x00000007, r64dst) 
      [21fcf500]
    [c86acc140cf4] U7c7c: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp4, U05cc, tmp3) SEQW GOTO U5e8a
    [000000000000] U7c7d:  NOP 
    [c06520035235] U7c7e:  tmp5:= SHR_DSZ64(tmp5, 0x00000020) 
      [185e8a00]
    [80041f035d48] U7c80:  tmp5:= AND_DSZ32(0x0000001f, tmp5) SEQW GOTO U3052
    [000000000000] U7c81:  NOP 
  <match & patch: 0x290a -> 0x7c82>
    [80080f031008] U7c82:  tmp1:= ZEROEXT_DSZ32(0x0000000f) 
      [21b05200]
    [204262000231] U7c84:  MOVETOCREG_DSZ64(tmp1, 0x062) !m2 
    [e96270c00200] U7c85:  MOVETOCREG_BTS_DSZ64( , 0x00000003, 0x070) !m0,m2 SEQW GOTO U2912
    [29620bc00200] U7c86:  MOVETOCREG_BTS_DSZ64( , 0x00000003, 0x00b) !m0,m2 
      [01a91240]
    [c0480e1bc008] U7c88:  tmp12:= ZEROEXT_DSZ64(0x0000060e) 
    [c062f01f1200] U7c89:  tmp1:= MOVEFROMCREG_DSZ64( , 0x7f0) SEQW GOTO U290c
    [40330203f23e] U7c8a:  tmp15:= SELECTCC_DSZ32_CONDNB(tmp14, 0x00000002) 
      [01a90c40]
    [80010103ffc8] U7c8c:  tmp15:= OR_DSZ32(0x00000001, tmp15) 
    [c0240203e23e] U7c8d:  tmp14:= SHL_DSZ32(tmp14, 0x00000002) SEQW GOTO U1a32
    [b86a4ce50232] U7c8e:  BTUJB_DIRECT_NOTTAKEN(tmp2, 0x00000003, U794c) !m0,m1,m2 
      [219a3240]
    [d0629f0b2240] U7c90:  tmp2:= MOVEFROMCREG_DSZ64( , 0x29f, 32) !m1 
    [586aa8400272] U7c91: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp2, 0x00000005, U20a8) !m1 SEQW GOTO U7948
    [413100023c78] U7c92:  rbx:= SELECTCC_DSZ32_CONDNZ(tmp8, tmp1) 
      [38f94840]
    [00a10032200d] U7c94:  rdx:= CONCAT_DSZ16(0x0000ac00) 
    [c0150a022222] U7c95:  rdx:= BTS_DSZ32(rdx, 0x0000000a) SEQW GOTO U19c4
    [805410031231] U7c96:  tmp1:= BT_DSZ64(tmp1, 0x00000010) 
      [2199c440]
    [0052bd6002b1] U7c98:  UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp1, U58bd) 
    [80720003bef1] U7c99:  tmp11:= SELECTCC_DSZ64_CONDB(tmp1, tmp11) SEQW GOTO U05ea
  <match & patch: 0x0cd2 -> 0x7c9a>
    [017100037df1] U7c9a:  tmp7:= SELECTCC_DSZ64_CONDNZ(tmp1, tmp7) 
      [3185ea40]
    [400800020037] U7c9c:  rax:= ZEROEXT_DSZ32(tmp7) 
    [806520022237] U7c9d:  rdx:= SHR_DSZ64(tmp7, 0x00000020) SEQW UEND0
  <match & patch: 0x66c2 -> 0x7c9e>
    [40080003f000] U7c9e:  tmp15:= ZEROEXT_DSZ32() SEQW GOTO U66c4
      [11e6c4b1]
  <match & patch: 0x5d4a -> 0x7ca0>
    [40070103ffc8] U7ca0:  tmp15:= NOTAND_DSZ32(0x00000001, tmp15) 
    [ed0f1833f00a] U7ca1:  PORTOUT_DSZ32_ASZ16_SC1(0x4c18,  , tmp15) !m2 
    [41080003f010] U7ca2:  tmp15:= READUIP_REGOVR(0x00) 
      [300000c0]
    [20438e08023f] U7ca4:  WRITEURAM(tmp15, 0x008e, 32) !m2 
    [00633703f200] U7ca5:  tmp15:= READURAM( , 0x0037, 64) 
    [386b4e00003f] U7ca6: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp15, 0x00000000, U304e) !m1,m2 
      [090000c0]
    [40070103ffc8] U7ca8:  tmp15:= NOTAND_DSZ32(0x00000001, tmp15) 
    [ce250003f03f] U7ca9:  tmp15:= LDPPHYSTICKLE_DSZ32_ASZ64_SC1(tmp15) 
    [80638e03f200] U7caa:  tmp15:= READURAM( , 0x008e, 64) SEQW GOTO U03be
      [2183be80]
    [005000000efb] U7cac: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDO(tmp11, tmp11) SEQW GOTO U038c
    [000000000000] U7cad:  NOP 
    [006204070200] U7cae:  tmp0:= MOVEFROMCREG_DSZ64( , 0x104) 
      [08038c00]
    [0962044403f0] U7cb0: SYNCFULL-> MOVETOCREG_BTS_DSZ64(tmp0, 0x0000001d, 0x104) 
    [8a621b140232] U7cb1:  MOVETOCREG_BTR_DSZ64(tmp2, 0x51b) SEQW GOTO U3b44
  <match & patch: 0x69f2 -> 0x7cb2>
    [1062e70b1240] U7cb2:  tmp1:= MOVEFROMCREG_DSZ64( , 0x2e7, 32) !m1 
      [183b4440]
    [386ab23102f1] U7cb4: LFNCEWTMRK-> BTUJB_DIRECT_NOTTAKEN(tmp1, 0x0000000c, U7cb2) !m1,m2 
    [c00d03800000] U7cb5:  SAVEUIP_REGOVR(0x01, U7cb6, 0x0003) !m0 SEQW GOTO U32cd
    [0042bb1c0235] U7cb6:  MOVETOCREG_DSZ64(tmp5, 0x7bb) 
      [2632cd40]
    [796289480200] U7cb8:  MOVETOCREG_BTS_DSZ64( , 0x00000001, 0x289) !m1,m2 SEQW GOTO U69f4
    [000000000000] U7cb9:  NOP 
    [09a24d1c063a] U7cba:  MOVETOCREG_SHR_DSZ64(tmp10, 0x00000020, 0x74d) 
      [21e9f400]
    [40423c18023a] U7cbc: SYNCFULL-> MOVETOCREG_DSZ64(tmp10, 0x63c) 
    [41506204027a] U7cbd:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U2162) 
    [80620607a200] U7cbe:  tmp10:= MOVEFROMCREG_DSZ64( , 0x106) 
      [180000c0]
    [6962064403ba] U7cc0: SYNCFULL-> MOVETOCREG_BTS_DSZ64(tmp10, 0x00000019, 0x106) !m2 SEQW GOTO U2162
    [000000000000] U7cc1:  NOP 
  <match & patch: 0x318c -> 0x7cc2>
    [2dcb20031008] U7cc2:  tmp1:= PORTIN_DSZ8_ASZ16_SC1(0x0020) !m2 
      [08216200]
    [986b115c0231] U7cc4:  BTUJNB_DIRECT_NOTTAKEN(tmp1, 0x00000001, U2711) !m1 
    [ed0b1813500c] U7cc5:  tmp5:= PORTIN_DSZ32_ASZ16_SC1(0x8418) !m2 
    [ed0b1c13100c] U7cc6:  tmp1:= PORTIN_DSZ32_ASZ16_SC1(0x841c) !m2 
      [300000c0]
    [402100035d71] U7cc8:  tmp5:= CONCAT_DSZ32(tmp1, tmp5) SEQW GOTO U1526
    [000000000000] U7cc9:  NOP 
    [c005883f1c8a] U7cca:  tmp1:= SUB_DSZ32(0x00004f88, tmp2) 
      [31952600]
    [8131010b1231] U7ccc:  tmp1:= SELECTCC_DSZ32_CONDNZ(tmp1, 0x00000201) 
    [404700035d71] U7ccd:  tmp5:= NOTAND_DSZ64(tmp1, tmp5) 
    [7d0b00031c88] U7cce:  tmp1:= PORTIN_DSZ32_ASZ16_SC1(0x0000, tmp2) !m1,m2 
      [300000c0]
    [7d0f00035c88] U7cd0:  PORTOUT_DSZ32_ASZ16_SC1(0x0000, tmp2, tmp5) !m1,m2 SEQW GOTO U559c
    [000000000000] U7cd1:  NOP 
  <match & patch: 0x31a4 -> 0x7cd2>
    [c02510032235] U7cd2:  tmp2:= SHR_DSZ32(tmp5, 0x00000010) 
      [31d59c00]
    [800519131e08] U7cd4:  tmp1:= SUB_DSZ32(0x00000419, tmp8) 
    [c150217002f1] U7cd5: SYNCMARK-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp1, U7c21) 
    [40653d031235] U7cd6:  tmp1:= SHR_DSZ64(tmp5, 0x0000003d) 
      [2c8000c0]
    [c00405031c48] U7cd8:  tmp1:= AND_DSZ32(0x00000005, tmp1) SEQW GOTO U31a6
    [000000000000] U7cd9:  NOP 
    [4052be7402f8] U7cda:  UJMPCC_DIRECT_NOTTAKEN_CONDB(tmp8, U7dbe) 
      [21b1a600]
    [80c800033035] U7cdc:  tmp3:= ZEROEXT_DSZ8(tmp5) 
    [204322080233] U7cdd:  WRITEURAM(tmp3, 0x0022, 32) !m2 SEQW SAVEUIP1 U7cdeSEQW GOTO U7d65
    [40320003fd73] U7cde:  tmp15:= SELECTCC_DSZ32_CONDB(tmp3, tmp5) 
      [01fd6555]
    [f86a1631023f] U7ce0: SYNCFULL-> BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000000, U7c16) !m1,m2 SEQW GOTO U60b5
    [000000000000] U7ce1:  NOP 
  <match & patch: 0x4f76 -> 0x7ce2>
    [0151111c0272] U7ce2:  UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp2, U2711) 
      [0860b500]
    [c0054803ae08] U7ce4:  tmp10:= SUB_DSZ32(0x00000048, tmp8) 
    [c150da7002fa] U7ce5:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U7cda) 
    [b9281171023a] U7ce6:  CMPUJZ_DIRECT_NOTTAKEN(tmp10, 0x00000001, U7c11) !m1,m2 
      [300000c0]
    [40050a07ae08] U7ce8:  tmp10:= SUB_DSZ32(0x0000010a, tmp8) 
    [4150c27402fa] U7ce9:  UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp10, U7dc2) SEQW GOTO U4f78
    [83380003a03a] U7cea:  tmp10:= CLC(tmp10) 
      [31cf7840]
    [8008a41bb00a] U7cec:  tmp11:= ZEROEXT_DSZ32(0x000046a4) 
    [400deff3c340] U7ced:  tmp12:= SAVEUIP_REGOVR( , 0x01, U7cee, 0xbcef) !m0 SEQW GOTO U7dba
    [f0622d0bc240] U7cee:  tmp12:= MOVEFROMCREG_DSZ64( , 0x22d, 32) !m1,m2 
      [31fdba40]
    [f86b3df103fc] U7cf0:  BTUJNB_DIRECT_NOTTAKEN(tmp12, 0x0000001f, U7c3d) !m0,m1,m2 
    [000000000000] U7cf1: SYNCFULL-> NOP SEQW GOTO U7cec
    [c00909240000] U7cf2: ROVR<- MOVE_DSZ32() SEQW SAVEUIP1 U7cf4
      [28fcec5e]
    [400c64640200] U7cf4:  SAVEUIP( , 0x00, U1964) 
    [900a00100200] U7cf5:  TESTUSTATE( , SYS, 0x0400) !m1 ? SEQW GOTO U304e
    [cfef02000000] U7cf6:  LBSYNC(0x00000002) 
      [11b04e40]
    [40623b1bf200] U7cf8:  tmp15:= MOVEFROMCREG_DSZ64( , 0x63b) 
    [a9023b58023f] U7cf9:  MOVETOCREG_OR_DSZ64(tmp15, 0x00000001, 0x63b) !m2 
    [60423b18023f] U7cfa: SYNCFULL-> MOVETOCREG_DSZ64(tmp15, 0x63b) !m2 SEQW URET0
      [090000ca]
    [800a28000200] U7cfc:  TESTUSTATE( , UCODE, 0x0028) ? SEQW GOTO U5da6
    [9062cd0bb240] U7cfd:  tmp11:= MOVEFROMCREG_DSZ64( , 0x2cd, 32) !m1 
    [40047003bec8] U7cfe:  tmp11:= AND_DSZ32(0x00000070, tmp11) 
      [21dda600]
    [8150fd7002fb] U7d00: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp11, U7cfd) SEQW GOTO U61f0
    [000000000000] U7d01:  NOP 
  <match & patch: 0x6f6a -> 0x7d02>
    [69a2f51c033a] U7d02:  MOVETOCREG_SHR_DSZ64(tmp10, 0x00000010, 0x7f5) !m2 
      [0861f000]
    [40632203f200] U7d04:  tmp15:= READURAM( , 0x0022, 64) 
    [00210003ffff] U7d05:  tmp15:= CONCAT_DSZ32(tmp15, tmp15) 
    [a9632280023f] U7d06:  unk_963(tmp15, IMM_MACRO_22) !m0,m2 
      [300000c0]
    [00620407f200] U7d08:  tmp15:= MOVEFROMCREG_DSZ64( , 0x104) 
    [296204c403ff] U7d09:  MOVETOCREG_BTS_DSZ64(tmp15, 0x0000001f, 0x104) !m0,m2 
    [800c6c3c02c0] U7d0a:  SAVEUIP( , 0x00, U6f6c) SEQW GOTO U7cf8
      [21fcf880]
  <match & patch: 0x2e20 -> 0x7d0c>
    [c96272800240] U7d0c: LFNCEWAIT-> MOVETOCREG_BTS_DSZ64( , 0x00000006, 0x072) !m0 
    [80629e1f2200] U7d0d:  tmp2:= MOVEFROMCREG_DSZ64( , 0x79e) 
    [80480003fcbf] U7d0e:  tmp15:= ZEROEXT_DSZ64(tmp15, tmp2) 
      [120000c0]
    [c9a29e5ff27f] U7d10: LFNCEMARK-> tmp15:= MOVETOCREG_SHR_DSZ64(tmp15, 0x00000005, 0x79e) 
    [900a00100200] U7d11:  TESTUSTATE( , SYS, 0x0400) !m1 ? SEQW GOTO U2e22
    [00040303f23f] U7d12:  tmp15:= AND_DSZ32(tmp15, 0x00000003) 
      [342e2240]
    [40050003fff2] U7d14:  tmp15:= SUB_DSZ32(tmp2, tmp15) 
    [80532238027f] U7d15:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp15, U2e22) 
    [400c22380240] U7d16:  SAVEUIP( , 0x00, U2e22) SEQW GOTO U7cf6
      [31fcf680]
  <match & patch: 0x2d36 -> 0x7d18>
    [40637f03d200] U7d18:  tmp13:= READURAM( , 0x007f, 64) 
    [786a1c75023d] U7d19:  BTUJB_DIRECT_NOTTAKEN(tmp13, 0x00000001, U7d1c) !m1,m2 
    [386a1c35023d] U7d1a:  BTUJB_DIRECT_NOTTAKEN(tmp13, 0x00000000, U7d1c) !m1,m2 SEQW GOTO U1a08
      [219a0880]
    [c0140103d23d] U7d1c:  tmp13:= BT_DSZ32(tmp13, 0x00000001) 
    [c0330103d23d] U7d1d:  tmp13:= SELECTCC_DSZ32_CONDNB(tmp13, 0x00000001) 
    [806336039200] U7d1e:  tmp9:= READURAM( , 0x0036, 64) 
      [300000c0]
    [400000039e7d] U7d20:  tmp9:= ADD_DSZ32(tmp13, tmp9) 
    [804336080239] U7d21:  WRITEURAM(tmp9, 0x0036, 32) 
    [c00c29ec0240] U7d22:  SAVEUIP( , 0x01, U3b29) !m0 SEQW GOTO U2d3a
      [21ad3a80]
  <match & patch: 0x3ae4 -> 0x7d24>
    [0fef01000000] U7d24:  LBSYNC(0x00000001) 
    [3062b40b0240] U7d25:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2b4, 32) !m1,m2 
    [c86aec140330] U7d26:  BTUJB_DIRECT_NOTTAKEN(tmp0, 0x00000010, U05ec) 
      [300000c0]
    [c00d06800000] U7d28:  SAVEUIP_REGOVR(0x01, U7d29, 0x0006) !m0 SEQW GOTO U32cd
    [7962e1880280] U7d29:  MOVETOCREG_BTS_DSZ64( , 0x0000000a, 0x2e1) !m0,m1,m2 
    [800813036008] U7d2a:  tmp6:= ZEROEXT_DSZ32(0x00000013) 
      [31b2cd00]
    [4150097002f6] U7d2c: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDZ(tmp6, U7c09) 
    [c00501036d88] U7d2d:  tmp6:= SUB_DSZ32(0x00000001, tmp6) 
    [9062e10b0240] U7d2e:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2e1, 32) !m1 
      [180000c0]
    [786be8a802b0] U7d30:  BTUJNB_DIRECT_NOTTAKEN(tmp0, 0x0000000a, U3ae8) !m0,m1,m2 SEQW GOTO U7d2c
    [000000000000] U7d31:  NOP 
  <match & patch: 0x345a -> 0x7d32>
    [d062cd0b0240] U7d32:  tmp0:= MOVEFROMCREG_DSZ64( , 0x2cd, 32) !m1 
      [21fd2c00]
    [7902cd480230] U7d34: SYNCFULL-> MOVETOCREG_OR_DSZ64(tmp0, 0x00000001, 0x2cd) !m1,m2 
    [8008a8033008] U7d35:  tmp3:= ZEROEXT_DSZ32(0x000000a8) 
    [00a1e8033cc8] U7d36:  tmp3:= CONCAT_DSZ16(0x000000e8, tmp3) 
      [180000c0]
    [402147033433] U7d38:  tmp3:= CONCAT_DSZ32(tmp3, 0x00010000) 
    [c04110033cc8] U7d39:  tmp3:= OR_DSZ64(0x00000010, tmp3) 
    [006306032200] U7d3a:  tmp2:= READURAM( , 0x0006, 64) 
      [300000c0]
    [008800032c80] U7d3c:  tmp2:= ZEROEXT_DSZ16( , tmp2) 
    [1062850f1240] U7d3d:  tmp1:= MOVEFROMCREG_DSZ64( , 0x385, 32) !m1 
    [1062810f0240] U7d3e:  tmp0:= MOVEFROMCREG_DSZ64( , 0x381, 32) !m1 SEQW GOTO U4d1d
      [11cd1d80]
    [40141e03b23d] U7d40:  tmp11:= BT_DSZ32(tmp13, 0x0000001e) 
    [c0330003bd7b] U7d41:  tmp11:= SELECTCC_DSZ32_CONDNB(tmp11, tmp5) 
    [80250203b23b] U7d42:  tmp11:= SHR_DSZ32(tmp11, 0x00000002) 
      [300000c0]
    [b92948b5033b] U7d44:  CMPUJNZ_DIRECT_NOTTAKEN(tmp11, 0x00000012, U7d48) !m0,m1,m2 
    [c007fc035d48] U7d45:  tmp5:= NOTAND_DSZ32(0x000000fc, tmp5) 
    [c001a0035d48] U7d46:  tmp5:= OR_DSZ32(0x000000a0, tmp5) 
      [300000c0]
    [39294cb503fb] U7d48: SYNCFULL-> CMPUJNZ_DIRECT_NOTTAKEN(tmp11, 0x0000001e, U7d4c) !m0,m1,m2 
    [c007fc035d48] U7d49:  tmp5:= NOTAND_DSZ32(0x000000fc, tmp5) 
    [8001a4035d48] U7d4a:  tmp5:= OR_DSZ32(0x000000a4, tmp5) 
      [180000c0]
    [c06430035235] U7d4c:  tmp5:= SHL_DSZ64(tmp5, 0x00000030) SEQW GOTO U4d38
    [000000000000] U7d4d:  NOP 
    [286a1668027f] U7d4e:  BTUJB_DIRECT_NOTTAKEN(tmp15, 0x00000005, U1a16) !m2 
      [11cd3800]
    [c0484703e010] U7d50:  tmp14:= ZEROEXT_DSZ64(0x00010000) 
    [c0414003ef88] U7d51:  tmp14:= OR_DSZ64(0x00000040, tmp14) 
    [c0440003effe] U7d52:  tmp14:= AND_DSZ64(tmp14, tmp15) 
      [300000c0]
    [00464703ef90] U7d54:  tmp14:= XOR_DSZ64(0x00010000, tmp14) 
    [c0620c03f200] U7d55:  tmp15:= MOVEFROMCREG_DSZ64( , 0x00c) 
    [8047af03f43f] U7d56:  tmp15:= NOTAND_DSZ64(tmp15, 0x00080000) 
      [300000c0]
    [c0410003effe] U7d58:  tmp14:= OR_DSZ64(tmp14, tmp15) 
    [c0621217f200] U7d59:  tmp15:= MOVEFROMCREG_DSZ64( , 0x512) 
    [01710003fffe] U7d5a:  tmp15:= SELECTCC_DSZ64_CONDNZ(tmp14, tmp15) 
      [300000c0]
    [d9290804003f] U7d5c:  CMPUJNZ_DIRECT_NOTTAKEN(tmp15, 0x00000000, U2108) !m1 
    [40621017f200] U7d5d:  tmp15:= MOVEFROMCREG_DSZ64( , 0x510) SEQW GOTO U32a9
  <match & patch: 0x13ba -> 0x7d5e>
    [0042f61c0236] U7d5e:  MOVETOCREG_DSZ64(tmp6, 0x7f6) 
      [01b2a940]
    [806322033200] U7d60:  tmp3:= READURAM( , 0x0022, 64) 
    [c06520033233] U7d61:  tmp3:= SHR_DSZ64(tmp3, 0x00000020) 
    [604322035233] U7d62:  tmp5:= WRITEURAM(tmp3, 0x0022, 64) !m2 
      [300000c0]
    [c00cbccc0200] U7d64:  SAVEUIP( , 0x01, U13bc) !m0 
    [800404033cc8] U7d65:  tmp3:= AND_DSZ32(0x00000004, tmp3) 
    [80241d033233] U7d66:  tmp3:= SHL_DSZ32(tmp3, 0x0000001d) 
      [300000c0]
    [00620407f200] U7d68:  tmp15:= MOVEFROMCREG_DSZ64( , 0x104) 
    [00561f03f23f] U7d69:  tmp15:= BTR_DSZ64(tmp15, 0x0000001f) 
    [290204040ff3] U7d6a:  MOVETOCREG_OR_DSZ64(tmp3, 0x104, tmp15) !m2 
      [300000c0]
    [0062c31b3200] U7d6c:  tmp3:= MOVEFROMCREG_DSZ64( , 0x6c3) 
    [00160a033233] U7d6d:  tmp3:= BTR_DSZ32(tmp3, 0x0000000a) 
    [80040103fd48] U7d6e:  tmp15:= AND_DSZ32(0x00000001, tmp5) 
      [300000c0]
    [40240a03f23f] U7d70:  tmp15:= SHL_DSZ32(tmp15, 0x0000000a) 
    [e902c3180ff3] U7d71: SYNCFULL-> MOVETOCREG_OR_DSZ64(tmp3, 0x6c3, tmp15) !m2 SEQW URET1
    [100a00000380] U7d72:  TESTUSTATE( , SYS, 0xc000) !m1 ? SEQW GOTO U7d7e
      [38fd7e8d]
    [60635303e200] U7d74:  tmp14:= READURAM( , 0x0053, 64) !m2 
    [786b7eb5023e] U7d75: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp14, 0x00000002, U7d7e) !m0,m1,m2 
    [2d0b083be00a] U7d76:  tmp14:= PORTIN_DSZ32_ASZ16_SC1(0x4e08) !m2 
      [388000c0]
    [f86b7635003e] U7d78: SYNCFULL-> BTUJNB_DIRECT_NOTTAKEN(tmp14, 0x00000000, U7d76) !m1,m2 
    [40070e03e23e] U7d79:  tmp14:= NOTAND_DSZ32(tmp14, 0x0000000e) 
    [400813030008] U7d7a:  tmp0:= ZEROEXT_DSZ32(0x00000013) 
      [180000c0]
    [80a100070c08] U7d7c:  tmp0:= CONCAT_DSZ16(0x00000100, tmp0) 
    [c151a070027e] U7d7d: SYNCFULL-> UJMPCC_DIRECT_NOTTAKEN_CONDNZ(tmp14, U3ca0) 
    [80630d03e200] U7d7e:  tmp14:= READURAM( , 0x000d, 64) 
      [388000c0]
    [00880003e03e] U7d80:  tmp14:= ZEROEXT_DSZ16(tmp14) SEQW GOTO U0414
    [000000000000] U7d81:  NOP 
  <match & patch: 0x6c4a -> 0x7d82>
    [c06507034234] U7d82:  tmp4:= SHR_DSZ64(tmp4, 0x00000007) 
      [21841400]
    [c00001034d08] U7d84:  tmp4:= ADD_DSZ32(0x00000001, tmp4) 
    [800401033d88] U7d85:  tmp3:= AND_DSZ32(0x00000001, tmp6) 
    [002404033233] U7d86:  tmp3:= SHL_DSZ32(tmp3, 0x00000004) 
      [300000c0]
    [c00100033d33] U7d88:  tmp3:= OR_DSZ32(tmp3, tmp4) 
    [40241b033233] U7d89:  tmp3:= SHL_DSZ32(tmp3, 0x0000001b) 
    [400100031c73] U7d8a:  tmp1:= OR_DSZ32(tmp3, tmp1) 
      [300000c0]
    [c00001034d08] U7d8c:  tmp4:= ADD_DSZ32(0x00000001, tmp4) 
    [42e400034d74] U7d8d:  tmp4:= unk_2e4(tmp4, tmp5) 
    [c06320035200] U7d8e:  tmp5:= READURAM( , 0x0020, 64) 
      [300000c0]
    [4004fc7f3d4b] U7d90:  tmp3:= AND_DSZ32(0x00007ffc, tmp5) 
    [402501033233] U7d91:  tmp3:= SHR_DSZ32(tmp3, 0x00000001) 
    [400030033cc8] U7d92:  tmp3:= ADD_DSZ32(0x00000030, tmp3) 
      [300000c0]
    [c06500035cf5] U7d94:  tmp5:= SHR_DSZ64(tmp5, tmp3) 
    [c00703035235] U7d95:  tmp5:= NOTAND_DSZ32(tmp5, 0x00000003) 
    [c0041e033d88] U7d96:  tmp3:= AND_DSZ32(0x0000001e, tmp6) 
      [300000c0]
    [402501033233] U7d98:  tmp3:= SHR_DSZ32(tmp3, 0x00000001) 
    [400009033cc8] U7d99:  tmp3:= ADD_DSZ32(0x00000009, tmp3) 
    [c13100035cf5] U7d9a:  tmp5:= SELECTCC_DSZ32_CONDNZ(tmp5, tmp3) SEQW GOTO U6c58
      [31ec5880]
  <match & patch: 0x4d5e -> 0x7d9c>
    [8062fe1f1200] U7d9c:  tmp1:= MOVEFROMCREG_DSZ64( , 0x7fe) 
    [e38000031c40] U7d9d:  tmp1:= READAFLAGS( , tmp1) !m2 
    [0c4b8027b000] U7d9e:  tmp11:= RDSEGFLD(UNK_SEG_09, SEL) 
      [300000c0]
    [8c4b802b0000] U7da0:  tmp0:= RDSEGFLD(SS_USERM, SEL) 
    [c0a100030ef0] U7da1:  tmp0:= CONCAT_DSZ16(tmp0, tmp11) 
    [002100031c70] U7da2:  tmp1:= CONCAT_DSZ32(tmp0, tmp1) 
      [300000c0]
    [8c4b802fb000] U7da4:  tmp11:= RDSEGFLD(DS, SEL) 
    [0c4b80230000] U7da5:  tmp0:= RDSEGFLD(ES, SEL) 
    [c0a100030ef0] U7da6:  tmp0:= CONCAT_DSZ16(tmp0, tmp11) 
      [300000c0]
    [0c4b8033b000] U7da8:  tmp11:= RDSEGFLD(FS, SEL) 
    [8c4b80372000] U7da9:  tmp2:= RDSEGFLD(GS, SEL) 
    [c0a100032ef2] U7daa:  tmp2:= CONCAT_DSZ16(tmp2, tmp11) 
      [300000c0]
    [802100030c32] U7dac:  tmp0:= CONCAT_DSZ32(tmp2, tmp0) 
    [800e01000200] U7dad:  WRMSLOOPCTRFBR( , 0x00000001) SEQW SAVEUIP0 U7daeSEQW GOTO U0051
    [806320034200] U7dae:  tmp4:= READURAM( , 0x0020, 64) 
      [31805151]
    [8007d8074d10] U7db0:  tmp4:= NOTAND_DSZ32(0x60000000, tmp4) 
    [c062091b3200] U7db1:  tmp3:= MOVEFROMCREG_DSZ64( , 0x609) 
    [40620a1b2200] U7db2:  tmp2:= MOVEFROMCREG_DSZ64( , 0x60a) 
      [300000c0]
    [80620d071200] U7db4:  tmp1:= MOVEFROMCREG_DSZ64( , 0x10d) 
    [00620e070200] U7db5:  tmp0:= MOVEFROMCREG_DSZ64( , 0x10e) 
    [000c68340280] U7db6:  SAVEUIP( , 0x00, U4d68) 
      [300000c0]
    [800e04000200] U7db8:  WRMSLOOPCTRFBR( , 0x00000004) SEQW GOTO U0051
    [000000000000] U7db9:  NOP 
    [00a10f194008] U7dba:  tmpv0:= CONCAT_DSZ16(0x0000060f) 
      [21805100]
    [000103014214] U7dbc:  tmpv0:= OR_DSZ32(tmpv0, 0x00000003) SEQW GOTO U7c34
    [000000000000] U7dbd:  NOP 
    [406322035200] U7dbe:  tmp5:= READURAM( , 0x0022, 64) 
      [01fc3400]
    [40c800035035] U7dc0:  tmp5:= ZEROEXT_DSZ8(tmp5) SEQW GOTO U1526
    [000000000000] U7dc1:  NOP 
    [c053111c0278] U7dc2:  UJMPCC_DIRECT_NOTTAKEN_CONDNB(tmp8, U2711) 
      [31952600]
    [c00869035008] U7dc4:  tmp5:= ZEROEXT_DSZ32(0x00000069) SEQW GOTO U1526
    [000000000000] U7dc5:  NOP 
    [000000000000] U7dc6:  NOP 
      [31952600]
[2467] write uram - size: 0x0001
    uram[0x005c] = (uram[0x005c] & 0xffffffffffffffff) | 0x80
[247e] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x22e9] = (crbus[0x22e9] & 0xfffffffffffffbff) | 0x0
[2495] write uram - size: 0x0001
    uram[0x005c] = (uram[0x005c] & 0xffffffffffffffff) | 0x200000000000
[24ac] write crbus - size: 0x0002
    crbus[0x063b] = (crbus[0x063b] & 0xffffffffffffffff) | 0x80000000
    crbus[0x0104] = (crbus[0x0104] & 0xffffffffffffffff) | 0x2000000000000
[24d7] if TESTUSTATE( , SYS, !0x4000) skip to 0x24f1
[24dc] write stgbuf - size: 0x0001
    stgbuf[0x01e0] = (stgbuf[0x01e0] & 0xffffffffffffffff) | 0x2000000000000
[24f1] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x239e] = (crbus[0x239e] & 0xffffffff3fffffff) | 0x30000000
[2508] if TESTUSTATE( , SYS, !0x4000) skip to 0x2522
[250d] write stgbuf - size: 0x0001
    stgbuf[0x0200] = (stgbuf[0x0200] & 0x3fffffffffffffff) | 0x3000000000000000
[2522] write crbus - size: 0x0001
    crbus[0x0074] = (crbus[0x0074] & 0xffffffffffffffff) | 0x1e
[2539] write crbus with SYNC on crbus[0x289] - size: 0x0001
    crbus[0x2388] = (crbus[0x2388] & 0xffffffffffffffff) | 0x80
[2550] write uram - size: 0x0001
    uram[0x0034] = (uram[0x0034] & 0x00000000ffffffff) | 0x300000000
[2567] if (uram[0x53] >> 2) & 1 skip to 0x2572
[256c] if (stgbuf[0x1a0] >> 32) & 00 skip to 0x25a9
[2572] write uram - size: 0x0001
    uram[0x0053] = (uram[0x0053] & 0xfffffffffffffffe) | 0x0
[2589] if TESTUSTATE( , SYS, !0xc000) skip to 0x25a9
[258e] portout(0x40, 2) - size: 0x0002
    port[0x40004e18] = (port[0x40004e18] & 0x000000003fffffff) | 0x0
    port[0x40004e0c] = (port[0x40004e0c] & 0x0000000000000000) | 0x44100
[25a9] if TESTUSTATE( , SYS, !0x4000) skip to 0x25c3
[25ae] write stgbuf - size: 0x0001
    stgbuf[0x01e0] = (stgbuf[0x01e0] & 0xffffffffffffffff) | 0x20000000
[25c3] write crbus - size: 0x0001
    crbus[0x0692] = (crbus[0x0692] & 0x00000000fffffffe) | 0x0
[25da] END
