ipodsync 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,838 @@
1
+ """generate_key_material + generate_initial_buffer (hand-port from dstaley/hashab).
2
+
3
+ GENERATED by tools/build_gen2.py — do not edit by hand. Dense blocks are
4
+ transpiled, control-flow constructs/pointers are expanded. 32-bit semantics are
5
+ handled by U32 (_hashab_gen_rt). Validated against instrumented C
6
+ (tests/test_hashab_port.py) and 100 hashAB vectors.
7
+ """
8
+ from importlib import resources
9
+ import struct
10
+
11
+ from ._hashab_gen import generate_buffer_from_state_mixing as _gbsm
12
+ from ._hashab_gen_rt import (U32, BYTE1, BYTE2, HIBYTE, LOBYTE, LOWORD, HIWORD,
13
+ u8c, i8c, u16c, i16c)
14
+ from ._hashab_tables import TABLES
15
+
16
+ _BLOB = resources.files(__package__).joinpath("_hashab_tables.bin").read_bytes()
17
+
18
+
19
+ def _t(name):
20
+ off, ln = TABLES[name]
21
+ return _BLOB[off:off + ln]
22
+
23
+
24
+ GEN190_SBOX = _t("GEN190_SBOX")
25
+ GEN190_STATE_TABLE = _t("GEN190_STATE_TABLE")
26
+ IBUFF_KEY_TABLE = _t("IBUFF_KEY_TABLE")
27
+ IBUFF_MIX_SEED_A = _t("IBUFF_MIX_SEED_A")
28
+ IBUFF_MIX_SEED_B = _t("IBUFF_MIX_SEED_B")
29
+
30
+ INIT_CONST = [U32(x) for x in (0x2a0ed355, -0x1557e0ef, -0x54be9533, 0x6bdab689,
31
+ 0x2c740245, -0x12f2b1ff, -0x52596643, 0x6e3fe579, 0x2ed93135, -0x108d830f,
32
+ -0x4ff43753, 0x70a51469, 0x313e6025, -0xe28541f, -0x4d8f0863, 0)]
33
+
34
+
35
+ def _u32_list(blob, n):
36
+ return [U32(x) for x in struct.unpack(f"<{n}I", blob[:n * 4])]
37
+
38
+
39
+ def read_state_table(offset):
40
+ return U32(GEN190_STATE_TABLE[int(offset) & 2047])
41
+
42
+
43
+ def read_sbox(idx):
44
+ return U32(GEN190_SBOX[int(idx) & 2047])
45
+
46
+
47
+ def read_u32(tab, offset):
48
+ o = int(offset)
49
+ return U32(struct.unpack_from("<I", bytes(tab), o)[0])
50
+
51
+
52
+ def idx64(x):
53
+ return int((-U32(19) * x + U32(69)) & U32(0x3f))
54
+
55
+
56
+ def xform_v318(v):
57
+ return i8c(v - U32(116) - ((U32(2) * v + U32(14)) & U32(0xa)))
58
+
59
+
60
+ def mix_byte(x):
61
+ return i8c(U32(94) * ((-U32(65) * x) & U32(0xda)) - U32(17) * x - U32(75))
62
+
63
+
64
+ def read316(v):
65
+ return -U32(0x35d1732d) * v - U32(0x6448adfb)
66
+
67
+
68
+ def read317(v):
69
+ return U32(0x2bf06481) * v - U32(0x7dbb7ad1)
70
+
71
+
72
+ def v318_mask(v):
73
+ return (U32(2) * v + U32(0x3845070e)) & U32(0x842fbc0a)
74
+
75
+
76
+ def read318(v):
77
+ return v - v318_mask(v)
78
+
79
+
80
+ def read318_off(v):
81
+ return v - U32(0x21c59e74) - v318_mask(v)
82
+
83
+
84
+ def process_input_chunk(byte0, byte1, byte2, byte3):
85
+ tmp1 = U32(0x151b4282) * ((-U32(65) * byte1) & U32(0xda)) - U32(0xa8da141) * u8c((-U32(65) * byte1)) - U32(0x7b3835d)
86
+ tmp2 = -U32(0x4d668bfa) + U32(0x7fffffff) * (-U32(0x2288b947) ^ U32(0x2f697e42) - U32(0x3370113f) * tmp1)
87
+ tmp3 = -U32(0x4e901d79) * (U32(0x2856866e) * ((-U32(65) * byte0) & U32(0xda)) - U32(0x142b4337) * u8c((-U32(65) * byte0)) - U32(0x6245d15a)) + ((-U32(0x2addd2b3) - tmp2 + ((U32(2) * tmp2 - U32(0x6532e80e)) & U32(0xbaee8d72))) << U32(8)) + U32(0x75a8da9b)
88
+ tmp4 = (u8c((U32(65) * byte2 + ((U32(126) * byte2) | U32(0x70)) - U32(56))) - U32(2) * ((U32(65) * byte2 + (u8c((U32(126) * byte2)) | U32(0x70)) - U32(56)) & U32(0xe2)) + ((U32(2) * (U32(2) * ((U32(65) * byte2 + (u8c((U32(126) * byte2)) | U32(0x70)) - U32(56)) & U32(0xe2)) - u8c((U32(65) * byte2 + ((U32(126) * byte2) | U32(0x70)) - U32(56)))) - U32(453)) & U32(0x1fe9dd6e)) + U32(0x700b122b)) ^ U32(0x3d6e8a2b)
89
+ tmp5 = U32(0x7fff0000) - U32(0x10000) * (-U32(0x1b64) ^ tmp4)
90
+ tmp6 = U32(0x61a60e93) - (U32(0xa80498d) ^ -U32(0x10000) - tmp5)
91
+ tmp7 = -U32(0x6a21d959) * u8c((-U32(65) * byte3)) - U32(0x2bbc4d4e) * ((-U32(65) * byte3) & U32(0xda)) + U32(0x7a32543b)
92
+ tmp8 = -U32(0xd000000) + tmp3 - U32(0x17000000) * tmp7 - (-U32(0xa80498e) ^ U32(0x1e59f16c) + tmp6)
93
+ return (tmp8 ^ U32(0xac150ed) ^ U32(0xa7b95656)) - U32(0x68f5c387)
94
+
95
+
96
+ def generate_key_material(a1):
97
+ # a1: phase1_output (80 bytes). -> expanded_buffer (190 bytes).
98
+ v205 = [U32(0)] * 16
99
+ v187 = [U32(0)] * 16
100
+ v196 = [U32(0)] * 16
101
+ v228 = [U32(0)] * 9
102
+ v229_arr = [U32(0)] * 32
103
+ v211_v212 = bytearray(320)
104
+ v228[0] = U32(int.from_bytes(b"YC\ns", "little"))
105
+
106
+ for v2 in range(6):
107
+ v176_val = u8c(a1[U32(4) * v2 + U32(23)])
108
+ v3 = u8c(-U32(65) * a1[U32(4) * v2 + U32(20)] - U32(113) - ((U32(126) * a1[U32(4) * v2 + U32(20)]) & U32(0x1e)))
109
+ v4 = -U32(0xd7c73d3) * u8c((-U32(65) * a1[U32(4) * v2 + U32(21)])) + U32(0x1af8e7a6) * ((-U32(65) * a1[U32(4) * v2 + U32(21)]) & U32(0xda)) + U32(0x35bb697f)
110
+ v5 = U32(0x1120f695) + U32(0x7fffffff) * (U32(0x10f416e7) ^ -U32(0x2b972500) - U32(0x268ea3a5) * v4)
111
+ v181 = -U32(0x12a93093) + U32(0x7b6cb500) * (-U32(0xbe919) ^ -U32(0x20f696) + v5)
112
+ v6 = -U32(0x6411f445) ^ U32(0x743fcab3) - U32(2) * (U32(17) ^ U32(179) & v3) + (U32(85) ^ v3)
113
+ v182 = U32(0x80000000) * v181 - U32(0x35fe2983) * (U32(0xbe8043a) ^ U32(0x3172bd27) - U32(0x500de63) * v181 + (-U32(0x102e3ef8) ^ v6))
114
+ v6 = (v6 & U32(0xffffff00)) | (u8c((-U32(65) * a1[U32(4) * v2 + U32(22)] - U32(27) - ((U32(126) * a1[U32(4) * v2 + U32(22)]) & U32(0xca)))))
115
+ v7 = (((-U32(0x6a3ac269) * (U32(0x76391227) * u8c(v6) + U32(0x138ddbb2) * (((v6 & U32(0x87)) ^ U32(7)) + (v6 & U32(0x3f))) + U32(0x5d4b362a))) ^ U32(0xec690b78)) << U32(16)) + U32(0x10000)
116
+ v8 = -U32(0x1a0d9e7d) * (-U32(0x14eef6c9) ^ -v7)
117
+ v9 = (u8c((U32(65) * v176_val + ((U32(126) * v176_val) | U32(0xd8)) - U32(108))) - U32(2) * ((U32(65) * v176_val + (u8c((U32(126) * v176_val)) | U32(0xd8)) - U32(108)) & U32(0xb6)) + ((U32(2) * (U32(2) * ((U32(65) * v176_val + (u8c((U32(126) * v176_val)) | U32(0xd8)) - U32(108)) & U32(0xb6)) - u8c((U32(65) * v176_val + ((U32(126) * v176_val) | U32(0xd8)) - U32(108)))) - U32(365)) & U32(0x275cf832)) - U32(0x13ae7b63)) ^ U32(0x9f2635a8)
118
+ v10 = -U32(0x23f505a4) + U32(0x2d3a83d3) * v182 + U32(0x5445cbd3) * v8 - U32(0x7000000) * v9 + U32(0xe000000) * (U32(49) & v9) - U32(0x32f800e) * (U32(0xbe8043a) | U32(0xd7ed2d5) * v182) + U32(0x32f800e) * (-U32(0x14eef6c9) & -U32(0xe374ad5) * v8)
119
+ v205[v2] = U32(0x170a3c78) + U32(0x7fffffff) * (-U32(0x2d7806bc) ^ -U32(0x39f628c2) - U32(0x10085249) * v10)
120
+ for chunk_idx in range(5):
121
+ base = chunk_idx * 4
122
+ v205[6 + chunk_idx] = process_input_chunk(a1[base], a1[base+1], a1[base+2], a1[base+3])
123
+ v205[11] = v205[13] = v205[14] = v205[15] = U32(-0x166dca43)
124
+ v205[12] = U32(-0x166dca3f)
125
+
126
+ v172 = 0
127
+ while True:
128
+ for _i in range(16):
129
+ curVal = v205[_i]
130
+ v57 = curVal + U32(0x68f5c387)
131
+ v57 = v57 & (U32(0xffffff00))
132
+ v58 = ~(-U32(0x6230cf19) ^ -U32(0x170a3c79) + curVal - v57)
133
+ v59 = u8c(read_state_table((v58 ^ U32(0xe230cf5c)) + U32(64)))
134
+ v58 = (v58 & U32(0xffffff00)) | u8c((U32(123) * v59 + ((U32(10) * v59 + U32(121)) & U32(0xbe)) - U32(28)))
135
+ v60 = (U32(0x44824334) - curVal + ((U32(2) * curVal - U32(0x2e1478f2)) & U32(0xa50ff288))) >> U32(8)
136
+ v61 = U32(0x170a3c78) - (U32(0x2d7806bb) ^ U32(0xffffff) - v60)
137
+ v61_byte = u8c(u8c((v61 - U32(121))))
138
+ idx = U32(1) * v61_byte + (-U32(2)) * ((v61_byte | U32(0xffffffbb))) + U32(250)
139
+ v62 = u8c(read_state_table(idx))
140
+ v63 = u8c((((-U32(10) * v62 - U32(73)) & U32(0x98)) + U32(5) * v62 + U32(88))) + ((-U32(2) * (((-U32(10) * v62 - U32(73)) & U32(0x98)) + U32(5) * v62 + U32(88)) - U32(1)) & U32(0x98)) - U32(76)
141
+ v64 = -U32(0x6e88de75) * (-U32(0xfad41e4) ^ v63)
142
+ v178 = -U32(0x143e0900) * (U32(222) - (((-U32(2) * u8c(v58) - U32(1)) & U32(0x1be)) + u8c(v58))) + U32(0x6648e93b) * v64 + U32(0x7c961f35) + U32(0x3aebc1f7) * ((-U32(0x65c703ba) * v64) & U32(0xe0a57c38))
143
+ v65 = -U32(0x3a1e6bd0) + U32(0x1f5dc100) * (-U32(0x12119f) ^ -U32(0x6a5b1) + U32(0x18b039) * v178)
144
+ v66 = -U32(0x12119ed0) ^ U32(0x1519b241) * v65
145
+ v183 = U32(0x80000000) + U32(0x436c3937) * (-U32(0x3e73dbc3) ^ v66)
146
+ v67 = (((U32(2) * v61 - U32(0x2e1478f2)) & U32(0xa50ff288)) + U32(0x44824334) - v61) >> U32(8)
147
+ v68 = U32(0x170a3c78) - (U32(0x2d7806bb) ^ U32(0xffffff) - v67)
148
+ v69 = -U32(2) * (-U32(0x2d7bcefc) & -U32(0x170a3c79) + v68) + (-U32(0x16bcc71) & U32(0x68f5c387) + v68)
149
+ idx66 = -U32(0x52842ec6) - v69 - U32(2) * (U32(0x2d7bcefb) - v69 | -U32(0x2d7bcec0) ^ -U32(0x16bcc90) & -U32(0x170a3c79) + v68) + (U32(0x52843140) ^ -U32(0x16bcc90) & U32(0x68f5c387) + v68)
150
+ v66 = (v66 & U32(0xffffff00)) | read_state_table(idx66)
151
+ v70 = u8c((U32(31) * u8c(v66) + ((-U32(62) * u8c(v66) + U32(29)) & U32(4)) - U32(17))) ^ U32(0x84dad334)
152
+ v71 = -U32(0x22ebfde5) + v178 + U32(0x745e2bf) * v183 - U32(0x3aebc1f7) * v70 + U32(0x75d783ee) * (-U32(0x37fbf7f8) | -U32(0x33212442) & v70) + U32(0x75d783ee) * (-U32(0x3e73dbc3) & U32(0x215acc87) * v183)
153
+ v72 = (U32(0x44824334) - v68 + ((U32(2) * v68 - U32(0x2e1478f2)) & U32(0xa50ff288))) >> U32(8)
154
+ v73 = -v72 - U32(2) * ((U32(0xffffff) - v72) | U32(0xad7806bb)) - U32(0x5187f947)
155
+ xor_val = (v73 & U32(0x4b7ac337)) ^ (v73 & U32(0x4b7ac3c8)) ^ U32(0x953c058e)
156
+ idx73 = -U32(0x7ffffcc0) + (U32(0x153c05ca) ^ xor_val)
157
+ v73 = (v73 & U32(0xffffff00)) | u8c((read_state_table(idx73) - U32(37)))
158
+ v74 = -U32(0x5bfbe83) * (-U32(0x7a19002b) * u8c(v73) - U32(0xbcdffaa) * (v73 & U32(0xde)) - U32(0x4da12d0b))
159
+ v75 = U32(0x75b8de76) + (-U32(0x32bad7a4) ^ -U32(0x2b1d35c3) + v74)
160
+ v76 = -U32(0x30b13900) + U32(257) * v71 - U32(0x3aebc1f7) * (-U32(0x32bad7a4) ^ U32(0xa47218a) + v75)
161
+ v77 = -U32(0x269bf0e4) - U32(0x455f2b00) * (U32(0x1e69d9) ^ -U32(0x6a5b1) + U32(0x18b039) * v76)
162
+ v78 = v76 - U32(0x3aebc1f7) * (U32(0x1e69d9ac) ^ -U32(0x4a26783) * v77)
163
+ v205[_i] = U32(0x170a3c78) - (-U32(0x2d7806bc) ^ U32(0x3686a5b0) - U32(0xb18b039) * v78)
164
+ v196 = list(INIT_CONST)
165
+ v196[15] = v228[0]
166
+ for _i3 in range(3):
167
+ _gbsm(v205, v196)
168
+ for j in range(16):
169
+ v80 = -U32(0x5398da79) * v196[j]
170
+ temp = v80 + U32(0x4b484c1)
171
+ temp = temp * (-U32(0xb18b039))
172
+ temp = temp + U32(0x3686a5b0)
173
+ temp = temp | U32(0xffffff00)
174
+ idx81 = U32(63) - temp
175
+ v81 = u8c(read_state_table(idx81))
176
+ v82 = -U32(0xb18b039) * (v80 - U32(0x3aebc1f7) * (u8c((U32(123) * v81 + ((U32(10) * v81 + U32(121)) & U32(0x96)) - U32(8))) + ((-U32(2) * u8c((U32(123) * v81 + ((U32(10) * v81 + U32(121)) & U32(0x96)) - U32(8))) - U32(1)) & U32(0x196))) - U32(0x4258ac62))
177
+ v184 = -U32(0x2fdf40c1) * (U32(0x2c3a4800) * (v82 + U32(0x3686a5b1)) - U32(0x6dbc683)) + U32(0x604d4bc9) * (U32(0x682bffbf) * ((v82 + U32(0x3686a5b0)) >> U32(21)) - U32(0x68dc1e44)) - U32(0x5aa7c026) - U32(0x3aebc1f7) * ((U32(0x4a435f2) * (U32(0x2c3a4800) * (v82 + U32(0x3686a5b1)) - U32(0x6dbc683)) + U32(0x33c6c6d5)) | (U32(0x59afe07e) * (U32(0x682bffbf) * ((v82 + U32(0x3686a5b0)) >> U32(21)) - U32(0x68dc1e44)) - U32(0x74b1aa87)))
178
+ v83 = ((-U32(57) * (-U32(61) - U32(55) * (-U32(65) * u8c(((v82 + U32(0x3686a5b0)) >> U32(21))) - U32(68)) - U32(47)) - U32(80)) | U32(0xffffff00)) ^ U32(0x57d0703d)
179
+ v83 = (v83 & U32(0xffffff00)) | read_state_table((v83 - U32(0x57d06efe) - ((U32(2) * v83) & U32(0x505f1f84))))
180
+ v83 = (v83 & U32(0xffffff00)) | u8c((U32(5) * u8c(v83) + U32(96) + ((-U32(10) * u8c(v83) - U32(73)) & U32(0x88))))
181
+ v84 = U32(0x7cac5dfa) * (u8c(v83) & U32(0x2c)) - U32(0x3e562efd) * (u8c(v83) + U32(0x1f47ce2c))
182
+ v85 = -U32(0x7fffffff) * (U32(0x1f47ce68) ^ U32(0x1fe021ab) * v84)
183
+ v86 = ~(v85 ^ -U32(0x3686a5b1) + U32(0xb18b039) * v184)
184
+ v87 = U32(0x85717eb) * (U32(0x3571a725) * (v86 >> U32(22)) + U32(0x65252c4f)) + U32(0x3cf06f59) * (-U32(0x1a78c400) * v86 - U32(0x3b78bbad)) + U32(0x7b462dd9) - U32(0x3aebc1f7) * ((-U32(0x25bbc6a6) * (U32(0x3571a725) * (v86 >> U32(22)) + U32(0x65252c4f)) + U32(0x1f14cd3b)) | (-U32(0x42dbf5a2) * (-U32(0x1a78c400) * v86 - U32(0x3b78bbad)) - U32(0x55024c7b)))
185
+ lookup_val = -U32(0xb18b039) * v87 + U32(0x3686a5b0)
186
+ lookup_idx = U32(830) - lookup_val - (U32(255) | ~lookup_val)
187
+ tbl_val = u8c(read_state_table(lookup_idx))
188
+ tbl_transform = u8c(u8c((U32(31) * tbl_val + ((-U32(62) * tbl_val + U32(29)) & U32(0xb2)) - U32(104))))
189
+ tbl_combined = U32(217) + (U32(217) ^ tbl_transform)
190
+ inner_v88 = v87 - (-U32(0x3aebc1f7) * tbl_combined) + U32(0xe2895a1)
191
+ mid_v88 = -U32(0xb18b039) * inner_v88 + U32(0x3686a5b0)
192
+ v88 = U32(0x5ea41d80) * mid_v88 + U32(0x21c4d674)
193
+ v89 = U32(0x7ba5d30f) * (mid_v88 >> U32(25))
194
+ v90 = -U32(0x524f4ec7) + U32(0x45143e09) * (-U32(128) + U32(0x10bcbbef) * v89 ^ U32(0x5ec3063) - U32(0x36d9af0d) * v88)
195
+ v205[j] = U32(0x170a3c78) - (-U32(0x2d7806bc) ^ U32(0x3686a5b0) - U32(0xb18b039) * v90)
196
+ _gbsm(v205, v196)
197
+ for v91 in range(8):
198
+ v229_arr[v91] = -U32(0x7095510b) * v196[8 + v91] + U32(0x1a313b21)
199
+ for v91 in range(8):
200
+ v92 = -U32(0x79cf6773) * v229_arr[v91] + U32(0x4d8f3d8a)
201
+ v93 = u8c(~(U32(116) ^ -U32(257) - (U32(103) ^ U32(92) & ~v92) ^ -U32(94) - v92 - (U32(163) | ~v92)))
202
+ v94 = u8c((-U32(75) - (BYTE2(v92) & U32(0xf)) + U32(91) - U32(2) * ((-U32(75) - (BYTE2(v92) & U32(0xf)) + U32(90)) | U32(2))) ^ (U32(65) - (BYTE2(v92) & U32(0xf0)) - U32(2) * ((~BYTE2(v92) & U32(0xa0)) | U32(0x52))) ^ U32(0x22))
203
+ v211_v212[32 * v172 + 4 * v91 + 0] = int(u8c(-U32(0x1db4) + U32(63) * (U32(125) ^ v93) + U32(2) * (U32(180) & (U32(125) ^ v93)))) & 0xFF
204
+ v211_v212[32 * v172 + 4 * v91 + 1] = int(u8c(-U32(8448) + U32(63) * (U32(37) ^ BYTE1(v92)))) & 0xFF
205
+ v211_v212[32 * v172 + 4 * v91 + 2] = int(u8c(U32(424) + U32(65) * v94 - U32(2) * (U32(168) | v94))) & 0xFF
206
+ v211_v212[32 * v172 + 4 * v91 + 3] = int(u8c(U32(63) * ((HIBYTE(v92) ^ U32(0xab)) + U32(7)) + U32(2) * ((HIBYTE(v92) ^ U32(0xab)) & U32(0x8e)) + U32(57))) & 0xFF
207
+ v172 += 1
208
+ if v172 == 5:
209
+ break
210
+ v95 = U32(-0x166dca47)
211
+ if v172 != 4:
212
+ v95 = U32(v172) - U32(0x166dca43)
213
+ v205[11] = v95
214
+
215
+ for _i in range(16):
216
+ v187[_i] = U32(0x14243245) * read_u32(GEN190_STATE_TABLE, _i * 4) - U32(0x3f7784fd)
217
+ v205[11] = U32(-0x166dca46)
218
+ for _i in range(16):
219
+ v97_val = v205[_i]
220
+ v98 = -U32(2) * (U32(0x3374000) & -U32(0x170a3c79) + v97_val) + (U32(0x17f75cdc) & U32(0x68f5c387) + v97_val)
221
+ v99 = U32(0x1bbc4b6c) - U32(0x6530037d) * v98 + U32(0x6530037d) * (U32(0x12875800) ^ U32(0x17f75c23) & U32(0x68f5c387) + v97_val) + U32(0x359ff906) * (U32(0x1cc83cdd) - v98 | U32(0x12875800) ^ U32(0x17f75c23) & -U32(0x170a3c79) + v97_val)
222
+ v98 = (v98 & U32(0xffffff00)) | read_sbox((-U32(0x6315322b) * v99 + U32(0x71b09b66) - ((U32(0x39d59baa) * v99) & U32(0xe36136cc))))
223
+ v99 = (v99 & U32(0xffffff00)) | u8c((u8c(v98) - U32(109) - ((U32(2) * u8c(v98) + U32(102)) & U32(0xc0))))
224
+ v100 = u8c(v99) - U32(2) * (((u8c(v99) & U32(0x37)) ^ U32(0x36)) + (u8c(v99) & U32(0x76))) + U32(0x18e1cc48)
225
+ v101 = ~(-U32(0x13002cc9) ^ -U32(0x2be1f89b) + v100)
226
+ v102 = U32(0x18e1cad2) + U32(256) * v101 - U32(512) * (-U32(0x13002d) | v101)
227
+ v103 = ((U32(2) * (((((U32(2) * v97_val - U32(0x2e1478f2)) & U32(0xa50ff288)) + U32(0x44824334) - v97_val) >> U32(8)) - U32(0x1000000)) + U32(1)) | U32(0x5af00d77)) + -U32(0x166dca43) - (((((U32(2) * v97_val - U32(0x2e1478f2)) & U32(0xa50ff288)) + U32(0x44824334) - v97_val) >> U32(8)) - U32(0x1000000))
228
+ v104 = U32(0x8b8f00d) * (u8c((v103 - U32(121))) + U32(0x10037140)) - U32(0x1171e01a) * (u8c((v103 - U32(121))) | U32(0xfce579da)) - U32(0x1a7e203b)
229
+ v104 = (v104 & U32(0xffffff00)) | GEN190_SBOX[(U32(0x2a94dec5) * v104 + U32(0x31a8661) - ((U32(0x5529bd8a) * v104) & U32(0x6350cc2)) + U32(256)) & U32(0x7ff)]
230
+ v105 = u8c((U32(31) * u8c(v104) + ((-U32(62) * u8c(v104) + U32(23)) & U32(0xaa)) + U32(31)))
231
+ v106 = -U32(0x91a6d56) ^ -U32(0x91a6d01) - v105
232
+ v107 = -U32(0x13002cc9) ^ v106 + (-U32(0x13002cc9) ^ -U32(0x2be1f89b) + v102)
233
+ v108 = v107 + U32(0x2be1f89b)
234
+ v109 = U32(2) * (-U32(0x13002cc9) & v107)
235
+ v110 = v109 + U32(0x3ee22563) - v108
236
+ v111 = v108 - v109
237
+ v112 = (U32(0x44824334) - v103 + ((U32(2) * v103 - U32(0x2e1478f2)) & U32(0xa50ff288))) >> U32(8)
238
+ v113 = U32(0x49eeb075) + U32(0x25535f00) * (-U32(0x57631) ^ v110)
239
+ v114 = U32(0x170a3c78) - (U32(0x2d7806bb) ^ U32(0xffffff) - v112)
240
+ v177 = -U32(2) * (U32(0x186e5840) & -U32(0x170a3c79) + v114) + (-U32(0x2791a330) & U32(0x68f5c387) + v114)
241
+ v115 = -U32(0x13002cc9) ^ -U32(0x3ee22564) + v111 - U32(0x7fffffff) * (-U32(0x57630ab) ^ U32(0xd4e3761) * v113)
242
+ v116 = U32(0x3ee22564) + (-U32(0x13002cc9) ^ v115)
243
+ v117 = U32(0x7dd14bae) - U32(0x5184d39f) * v177 + U32(0x5184d39f) * (U32(0x50065804) ^ -U32(0x2791a3d1) & U32(0x68f5c387) + v114) + U32(0x5cf658c2) * (-U32(0x3a7e7a6d) - v177 | -U32(0x2ff9a7fc) ^ -U32(0x2791a3d1) & -U32(0x170a3c79) + v114)
244
+ v117 = (v117 & U32(0xffffff00)) | GEN190_SBOX[(U32(0x5417885f) * v117 - ((-U32(0x57d0ef42) * v117) & U32(0xd4f04458)) + U32(0x6a78242c)) & U32(0x7ff)]
245
+ v118 = u8c((U32(43) * u8c(v117) + ((-U32(86) * u8c(v117) - U32(47)) & U32(0x74)) + U32(93))) ^ U32(0x17cf682b)
246
+ v119 = U32(0x1fcebab6) + (U32(0x17cf6811) ^ v118)
247
+ v120 = -U32(0x541e0765) + (-U32(0x13002cc9) ^ U32(0x214f1fe6) + v116 + v119)
248
+ v121 = U32(2) * (-U32(0x13002cc9) & -U32(0x2be1f89b) + v120)
249
+ v122 = -U32(0x34ec24c0) + U32(0x2c4f6d00) * (-U32(0x232bce) ^ U32(0x1dda9c) + v120 - v121)
250
+ v123 = U32(0x80000000) - U32(0x7fffffff) * (-U32(0x232bcdc0) ^ -U32(0x34b4ed9b) * v122)
251
+ v124 = U32(0x80000000) - U32(0x6bd9f41b) * (U32(0x24b769bc) ^ v123)
252
+ v125 = U32(0x411dda9c) + v120 - v121 - U32(0x7fffffff) * (U32(0x24b769bc) ^ -U32(0x2872c613) * v124)
253
+ v126 = (((U32(2) * v114 - U32(0x2e1478f2)) & U32(0xa50ff288)) + U32(0x44824334) - v114) >> U32(8)
254
+ v127 = U32(0x170a3c78) - (U32(0x2d7806bb) ^ U32(0xffffff) - v126)
255
+ v128 = U32(0x56475815) ^ U32(0x5d3d9202) - U32(2) * (-U32(0x22c26efd) | U32(255) & -U32(0x170a3c79) + v127) + (-U32(256) | U32(0x68f5c387) + v127)
256
+ v127 = (v127 & U32(0xffffff00)) | GEN190_SBOX[(v128 ^ U32(0xf48536ad)) + U32(768) & U32(0x7ff)]
257
+ v129 = U32(0x3ee22564) + v125
258
+ v130 = u8c((-U32(107) * u8c(v127) + ((-U32(42) * u8c(v127) - U32(103)) & U32(0x6e)) + U32(124))) + ((-U32(2) * (-U32(107) * u8c(v127) + ((-U32(42) * u8c(v127) - U32(103)) & U32(0x6e)) + U32(124)) - U32(1)) & U32(0x6e)) + U32(0x42e84745)
259
+ v131 = -U32(0x541e0765) + (-U32(0x13002cc9) ^ -U32(0x1ca6ce0) + v129 + v130)
260
+ v132 = U32(0x2be1f89b) + (-U32(0x13002cc9) ^ -U32(0x21078964) + U32(257) * v131 - U32(2) * (-U32(0x13002cc9) & -U32(0x2be1f89b) + v131) - U32(512) * (-U32(0x2cc9) & U32(0x1e0765) + v131))
261
+ v205[_i] = U32(0x170a3c78) - (U32(0x3e782a73) ^ U32(0x2be1f89a) - v132)
262
+
263
+ _gbsm(v205, v187)
264
+ for _k in range(3):
265
+ for m in range(16):
266
+ v134 = -U32(0x6193d4f1) * v187[m] + ((-U32(0x3cd8561e) * v187[m] - U32(0x5c0f3291)) & U32(0xd9ffa66e)) - U32(0x3ef839ef)
267
+ v175 = -U32(0x6193d4f1) * v187[m] + ((-U32(0x3cd8561e) * v187[m] - U32(0x5c0f3291)) & U32(0xd9ffa66e)) - U32(0x13164154)
268
+ v135 = -U32(0x62256c8d) + v134 - U32(2) * (-U32(0x30800019) + v134 - (U32(0xf3fffe7) & v134) - (U32(0xb022140) ^ v134) | U32(0xc3fd310) ^ U32(0xf3fff18) & v134) - (U32(0xf3fffe7) & v134) - (U32(0xb022140) ^ v134) + (U32(0xc3fd310) ^ U32(0xf3fff18) & v134)
269
+ v135 = (v135 & U32(0xffffff00)) | u8c((GEN190_SBOX[(v135 + U32(0x69635ef2) - ((U32(2) * v135 + U32(0x634ad8e6)) & U32(0x6f7be4fe))) & U32(0x7ff)] - U32(77)))
270
+ v136 = U32(0x3109f69b) * (-U32(0x2bfa3fe5) * u8c(v135) + U32(0x57f47fca) * (u8c(v135) & U32(0x96)) + U32(0x2878b92b)) - U32(0x38a819e8)
271
+ v137 = U32(0x2d1c4a3d) + U32(2) * v134 - U32(0x33f2e5e9) * v136 - v175 + U32(2) * (-U32(0x13002cc9) | U32(0x11c5db27) - U32(2) * v134 + U32(0x33f2e5e9) * v136 + v175 - U32(2) * (-U32(0x13002cc9) | ~v134)) + U32(2) * (-U32(0x13002cc9) | ~v134)
272
+ v138 = ~(-U32(0x13002cc9) ^ -U32(0x2be1f89b) + v137)
273
+ v139 = U32(0x6f6d945d) * (v138 >> U32(21))
274
+ v140 = v139 - U32(0x39315c19)
275
+ v141 = -U32(0x76cb200b) * (v139 - U32(0x39315c18))
276
+ v142 = U32(0x3d63e057) - U32(0x1e7c0800) * v138 + U32(0x3cf81000) * (-U32(0x6f9c3) | v138)
277
+ v143 = -U32(0x68338f7f) * v142 - U32(1)
278
+ v144 = v143 | -U32(0x4857) ^ -U32(0x2f80000) + (U32(0x4856) ^ U32(0x4b4e02f8) + v141)
279
+ v145 = U32(0x3ebdb683) - v141 + v143 - U32(2) * v144 + U32(2) * (U32(0x24ce3f1e) & -U32(0x2e751d11) + U32(0x934dff5) * v140 - U32(0x17cc7081) * v142 + U32(2) * v144)
280
+ v146 = -U32(2) * (U32(0x124214a2) & -U32(0x2be1f89b) + v145) + (U32(0x13d234eb) & -U32(0x2be1f89b) + v145)
281
+ v147 = -U32(0x21c95494) - (U32(0xd21014) ^ -U32(0x364a56b7) - v146 ^ U32(0x13d23414) & -U32(0x2be1f89b) + v145)
282
+ v147 = (v147 & U32(0xffffff00)) | GEN190_SBOX[(v147 + U32(0x58619c28) - ((U32(2) * v147 + U32(0x4392a926)) & U32(0x6d308d2a))) & U32(0x7ff)]
283
+ v148 = U32(0x2bafa9ef) - (u8c((U32(31) * u8c(v147) + ((-U32(62) * u8c(v147) + U32(23)) & U32(0xc2)) - U32(109))) + ((-U32(2) * u8c((U32(31) * u8c(v147) + ((-U32(62) * u8c(v147) + U32(23)) & U32(0xc2)) - U32(109))) - U32(1)) & U32(0x1c2)))
284
+ v149 = -U32(0x3a60f3c8) - v145
285
+ v150 = U32(0x2be1f89a) - v145 | -U32(0x9225) ^ U32(0x1b030000) + (U32(0x9224) ^ -U32(0x46b2a90f) + v148)
286
+ v151 = U32(0x7fffffff) - (-U32(0x13002cc9) ^ U32(0x11f2956f) - v148 + v149 - U32(2) * v150)
287
+ v152 = (((U32(2) * (U32(2) * ((U32(0x3ff) - (v151 >> U32(22))) | U32(0x1ed1faa)) - (U32(0x4693e491) - (v151 >> U32(22)))) - U32(0x76b27e2f)) | (-U32(2) * (U32(0x1eb542bf) - (v151 << U32(10)) - U32(2) * ((-U32(0x400) - (v151 << U32(10))) | U32(0xd147f879))) - U32(0x65256373))) + U32(0x1eb542bf) - (v151 << U32(10)) - U32(2) * ((-U32(0x400) - (v151 << U32(10))) | U32(0xd147f879)) + U32(0x4693e491) - (v151 >> U32(22)) - U32(2) * ((U32(0x3ff) - (v151 >> U32(22))) | U32(0x1ed1faa)) + U32(0x6debf0d1)) ^ U32(0x3c5534e4)
288
+ v153 = U32(0x40b25e4d) + U32(2) * v152 - (U32(0x623d9994) & v152) - U32(2) * (U32(0x22281100) | v152) - U32(2) * (-U32(0x9806041) + v152 - (-U32(0x1dc2666c) & v152) - (U32(0x22281100) ^ v152) | -U32(0x1fc26edd) ^ -U32(0x1dc26695) & v152) + (U32(0x603d9123) ^ U32(0x623d996b) & v152)
289
+ v153 = (v153 & U32(0xffffff00)) | GEN190_SBOX[(v153 + U32(0x238b34c5) - ((U32(2) * v153 - U32(0x50155b1e)) & U32(0x972bc0a8))) & U32(0x7ff)]
290
+ v154 = u8c((U32(43) * u8c(v153) + ((-U32(86) * u8c(v153) - U32(47)) & U32(0x9c)) - U32(55))) ^ U32(0x52973f4e)
291
+ v155 = U32(0x80000000) + (-U32(0x2d68c080) ^ v154)
292
+ v156 = -v155 + (-U32(0x13002cc9) ^ v152)
293
+ v157 = ~v156
294
+ v158 = U32(0x1a006443) + U32(128) * v157 - U32(256) * (U32(0x2b98c5) | v157)
295
+ v159 = U32(0x5f932e07) * (v157 >> U32(25))
296
+ v160 = v159 + U32(0x4fdf38f0)
297
+ v161 = U32(0x434023e) - v158 | -U32(0xa576) ^ -U32(0x5c390000) + (U32(0xa576) ^ U32(0x5c38ff80) + U32(0x553edfb7) * v159)
298
+ v162 = U32(0x3c2d0d34) - v158 - U32(0x553edfb7) * v160 - U32(2) * v161
299
+ v205[m] = U32(0x170a3c78) - (U32(0x3e782a73) ^ U32(0x2be1f89a) - v162 - U32(2) * (-U32(0x6cc4e4d) & -U32(0x97ec64d) + v158 - U32(0x2ac12049) * v160 + U32(2) * v161))
300
+ _gbsm(v205, v187)
301
+ for _i in range(8):
302
+ v228[_i + 1] = v187[_i + 8]
303
+ v229_arr[_i] = -U32(0x7095510b) * v187[_i + 8] + U32(0x1a313b21)
304
+ for n in range(32):
305
+ _lo229 = int(v229_arr[n]) & 0xFF
306
+ v164 = -U32(0x79cf6773) * v229_arr[n] + U32(0x4d8f3d8a)
307
+ v186 = U32(0x232636f5) * (HIBYTE(v164) | U32(0xffffff00)) - U32(0x2aec5ff9)
308
+ v211_v212[U32(4) * n + U32(192)] = int(u8c(-U32(23) * (U32(91) * (U32(45) * (-U32(115) * _lo229 - U32(118)) - U32(17)) - U32(118)) + U32(70))) & 0xFF
309
+ v211_v212[U32(4) * n + U32(193)] = int(u8c(U32(23) * (((U32(2) * (BYTE1(v164) ^ U32(0xaa))) | U32(0x8a)) - (BYTE1(v164) ^ U32(0xaa)) + U32(59)) - U32(23) * ((U32(2) * (((U32(2) * (BYTE1(v164) ^ U32(0xaa))) | U32(0x8a)) - (BYTE1(v164) ^ U32(0xaa)) + U32(59))) & U32(0xdf)) - U32(42))) & 0xFF
310
+ v164 = (v164 & U32(0xffffff00)) | u8c((-U32(5) * (-U32(51) * BYTE2(v164) + U32(43)) + ((U32(10) * (-U32(51) * BYTE2(v164) + U32(43)) + U32(83)) & U32(0x26)) + U32(67)))
311
+ v211_v212[U32(4) * n + U32(194)] = int(u8c(-U32(23) * (u8c(v164) + ((-U32(2) * u8c(v164) - U32(1)) & U32(0x26))) - U32(5))) & 0xFF
312
+ v164 = (v164 & U32(0xffffff00)) | u8c((-U32(93) * u8c(v186) + ((-U32(70) * u8c(v186) - U32(21)) & U32(8)) - U32(122)))
313
+ v211_v212[U32(4) * n + U32(195)] = int(u8c(-U32(23) * (u8c(v164) + ((-U32(2) * u8c(v164) - U32(1)) & U32(8))) + U32(34))) & 0xFF
314
+ for n in range(30):
315
+ v211_v212[n + U32(160)] = int(u8c(-U32(25) * v211_v212[n + U32(192)] - ((U32(78) * v211_v212[n + U32(192)] - U32(85)) & U32(0xb4)) - U32(80))) & 0xFF
316
+ return bytes(v211_v212[0:190])
317
+
318
+ def mix_with_v318(a1, v318):
319
+ for i in range(64):
320
+ t = i8c(xform_v318(v318[i]))
321
+ v213 = i8c(-U32(208) + (U32(102) ^ t))
322
+ mixed = i8c(mix_byte(a1[i & U32(0xf)]))
323
+ v214 = i8c(-U32(81) - v213 | U32(255) ^ -U32(54) - U32(49) * mixed)
324
+ v216 = i8c(U32(19) * ((U32(4) * v214 + U32(2) * (-U32(49) * mixed + v213) + U32(57)) & U32(0x50)) - U32(93) * mixed - U32(31) - U32(19) * v213 - U32(38) * v214)
325
+ v217 = i8c(U32(5) ^ U32(27) * v216)
326
+ a1[i & U32(0xf)] = int(u8c(U32(47) + U32(63) * v217 - U32(126) * (U32(17) & v217))) & 0xFF
327
+
328
+ def mix_with_v317(a1, v317):
329
+ for i in range(64):
330
+ v219 = i8c(U32(65) * a1[i & U32(0xf)] + ((U32(126) * a1[i & U32(0xf)]) | U32(0x9c)) + U32(50))
331
+ v296 = i8c(-U32(81) + (U32(24) ^ v219))
332
+ decoded = i8c(U32(127) * LOBYTE(v317[i]) - U32(48))
333
+ v220 = i8c((-U32(73) * (U32(7) * decoded - U32(14) * (decoded & U32(0x5b)) + U32(125))) | (-U32(82) - v296))
334
+ v221 = i8c(-U32(65) * ((U32(4) * v220 + U32(2) * (v296 - -U32(73) * (U32(7) * decoded - U32(14) * (decoded & U32(0x5b)) + U32(125))) - U32(91)) & U32(0xae)) + -U32(119) * (U32(7) * decoded - U32(14) * (decoded & U32(0x5b)) + U32(125)) - -U32(65) * v296 - U32(22) - U32(126) * v220)
335
+ a1[i & U32(0xf)] = int(u8c(U32(0x1741) - U32(63) * (U32(90) ^ U32(63) * (U32(1) - v221)))) & 0xFF
336
+
337
+ def fold_v315_into_output(a1, v315):
338
+ for result in range(128):
339
+ v222 = i8c(U32(23) * (-U32(19) * LOBYTE(v315[result]) + U32(69)) + U32(31))
340
+ v223 = i8c(-U32(0xd92) - U32(31) * (U32(112) ^ -U32(41) - U32(89) * v222 + U32(2) * (U32(112) & U32(56) - U32(39) * v222)))
341
+ v224 = i8c(U32(63) ^ (U32(45) - U32(33) * v223))
342
+ v225 = i8c(U32(65) * (((-U32(2) * v224 - U32(1)) & U32(0x80)) + v224) - U32(43) * (-U32(67) * (u16c((U32(0x14ed) * LOWORD(v315[result]) - U32(0x3bbb))) >> U32(8)) + U32(44)) + U32(4))
343
+ v226 = i8c(-U32(914) - U32(31) * (U32(27) ^ -U32(129) - (U32(27) ^ -U32(33) + U32(63) * v225)))
344
+ v227 = i8c(U32(9) ^ (U32(45) - U32(33) * v226))
345
+ v228 = i8c((U32(117) - (((-U32(2) * v227 - U32(1)) & U32(0xec)) + v227)) ^ U32(0xc2) ^ (-U32(49) * (-U32(47) * ((U32(0x755b14ed) * v315[result] - U32(0xfa73bbb)) >> U32(16)) - U32(45)) + U32(98)) ^ U32(0x3b))
346
+ v229 = i8c(U32(0x160d) + U32(31) * (U32(182) ^ -U32(128) + (U32(48) ^ v228)))
347
+ v230 = i8c(U32(156) ^ (U32(45) - U32(33) * v229))
348
+ v231 = i8c(U32(119) + U32(89) * v230 + U32(78) * (U32(79) & v230))
349
+ v232 = i8c(U32(123) * ((U32(0x755b14ed) * v315[result] - U32(0xfa73bbb)) >> U32(24)) + U32(10) * (((U32(0x755b14ed) * v315[result] - U32(0xfa73bbb)) >> U32(24)) & U32(0xfd)) - U32(113))
350
+ v233 = i8c(-U32(132) - U32(77) * v232 - U32(2) * (U32(125) | U32(51) * v232) - (U32(44) ^ -U32(23) * v231))
351
+ v234 = i8c(-U32(128) + (U32(127) ^ U32(128) + (U32(70) ^ v233)))
352
+ v297 = i8c(U32(244) + U32(31) * v234 - U32(62) * (U32(57) & v234))
353
+ v235 = i8c(U32(65) * a1[result & U32(0xf)] + ((U32(126) * a1[result & U32(0xf)]) | U32(0xe0)) - U32(112))
354
+ v236 = i8c(U32(100) - (U32(110) ^ U32(127) - (U32(170) ^ v235)))
355
+ v237 = i8c(-U32(0x1650) + U32(41) * (U32(110) ^ U32(27) + v236))
356
+ v238 = i8c(U32(136) ^ (U32(45) - U32(33) * v297))
357
+ v239 = i8c(U32(0x4a3) + U32(9) * (U32(119) ^ v238))
358
+ v240 = i8c(-U32(74) - U32(3) * v237 - U32(99) * v239 - U32(246) * (-U32(54) - U32(57) * v239 | U32(47) - U32(25) * v237))
359
+ v241 = i8c(U32(106) + U32(77) * v240 + U32(2) * (U32(95) & U32(54) + U32(51) * v240))
360
+ v242 = i8c(-U32(0x13ab) - U32(53) * (U32(95) ^ v241))
361
+ a1[result & U32(0xf)] = int(u8c(U32(121) - U32(35) * v242 - U32(2) * (U32(90) & -U32(34) + U32(29) * v242))) & 0xFF
362
+
363
+ def generate_initial_buffer(a2):
364
+ # a2: expanded_buffer (190). -> ibuff_result (16 bytes).
365
+ a1 = bytearray(16)
366
+ v318 = _u32_list(IBUFF_MIX_SEED_A, 64) + [U32(0)] * 6
367
+ v317 = _u32_list(IBUFF_MIX_SEED_B, 64)
368
+ v316 = _u32_list(IBUFF_KEY_TABLE, 64)
369
+ v315 = [U32(0)] * 128
370
+
371
+ for i in range(0, 512, 4):
372
+ b0 = u8c(a2[i % U32(0xbe)])
373
+ b1 = u8c(a2[(i + U32(1)) % U32(0xbe)])
374
+ b2 = u8c(a2[(i + U32(2)) % U32(0xbe)])
375
+ b3 = u8c(a2[(i + U32(3)) % U32(0xbe)])
376
+ v3 = u8c(-U32(128) * b0 + (U32(60) ^ U32(63) * b0))
377
+ v4 = U32(0x39a04a0d) + U32(0x554e0d8a) * (U32(70) ^ U32(87) & v3) - U32(0x2aa706c5) * (U32(230) ^ v3)
378
+ v298 = -U32(0x7fffffff) * ~(U32(0x16b95557) ^ -U32(0x30fc880d) * v4)
379
+ v4 = (v4 & U32(0xffffff00)) | u8c(-U32(65) * b1)
380
+ v302 = -U32(0x6e97a90b) * (-U32(0x27e9b546) * (v4 & U32(0xda)) - U32(0x6c0b255d) * u8c(v4) - U32(0x19720829)) + U32(0x32879462)
381
+ v4 = (v4 & U32(0xffffff00)) | u8c(-U32(65) * b2)
382
+ v5 = u8c(-U32(128) * b3 + (U32(6) ^ U32(63) * b3))
383
+ v6 = -U32(0x2f600aab) ^ -U32(0xda1c1e7) - U32(2) * (U32(24) ^ U32(25) & v5) + (U32(220) ^ v5)
384
+ v299 = U32(0x7d0d9900) * (U32(0x12a5dd2f) * (-U32(0x3286ec62) * (v4 & U32(0xda)) - U32(0x66bc89cf) * u8c(v4) + U32(0x1052e4b7)) + U32(0x2963068c)) + U32(0xd990000) * v302 - U32(0x306d1a8f) - U32(0x67000000) * v298 - U32(0x1fa237d5)
385
+ v7 = U32(0x47e3a2cb) - U32(0x5c38e499) * v299 + U32(0x6a516471) * (U32(0x22c1cb4c) ^ v6) + U32(0x2b5d371e) * (-U32(0x544da01) & U32(0xe3182fc) + U32(0x31f60957) * v299 + (U32(0x22c1cb4c) ^ v6))
386
+ v315[i // 4] = U32(0x39866647) - U32(0x11a1971b) * (-U32(0x544da01) ^ U32(0x565dc91) * v7)
387
+
388
+ for j in range(512):
389
+ jb = u8c(u8c(j))
390
+ idx_cur = u8c(jb & U32(0x7f))
391
+ idx_115 = u8c(U32(127) & U32(115) + jb)
392
+ idx_71 = u8c(U32(127) & U32(71) + jb)
393
+ idx_101 = u8c(U32(127) & U32(101) + jb)
394
+ v9 = ((((((-U32(0x755b14ed) * v315[idx_115] + U32(0xfa73bba)) >> U32(29)) - U32(0x172a0008)) ^ U32(0xed5c)) + U32(0x172a0000)) ^ (((U32(0x55275898) * v315[idx_115] + U32(0x660fddd7)) ^ U32(0xed5c)) + U32(0x172a0000)) ^ U32(0x95ffa6fe)) - U32(0x1f64dcc4)
395
+ v303 = idx_cur
396
+ v246 = v315[v303]
397
+ v10 = -U32(0x1f64dcc5) - v9 | -U32(0x8503) ^ -U32(0x50a70000) + (U32(0x8502) ^ U32(0x604e3bba) - U32(0x755b14ed) * v246)
398
+ v11 = -U32(0x539f5b6) - U32(0x32313662) * v10 - U32(0x48ad7fa3) * v246 - U32(0x19189b31) * v9 + U32(0x32313662) * (U32(0x13039f15) & U32(0x2f0c1880) + U32(2) * v10 + U32(0xaa4eb13) * v246 + v9)
399
+ v12 = -U32(0x755b14ed) * v315[idx_71] + U32(0xfa73bba)
400
+ v300 = -U32(0x59ef3253) * (-U32(0x7ace5781) * ((U32(0x9e88d62) * (U32(0x533c4251) * (v12 >> U32(27)) + U32(0x7a16c498)) + U32(0x37410591)) | (-U32(0x17f680a6) * (U32(0x156afc25) * (U32(32) * v12 + U32(32)) - U32(0x43603030)) - U32(0x66973f21))) + U32(0x3f8bc631) * (U32(0x533c4251) * (v12 >> U32(27)) + U32(0x7a16c498)) - U32(0x3d419ed3) * (U32(0x156afc25) * (U32(32) * v12 + U32(32)) - U32(0x43603030)) - U32(0x2b6b5494)) + U32(0x14786343) * v11 - U32(0x341cefc1)
401
+ v13 = -U32(0x755b14ed) * v315[idx_101] + U32(0xfa73bba)
402
+ v315[v303] = -U32(0x17158cd6) - -U32(0x38da74bf) * (-U32(0x3c14c211) * (U32(0x308a955) * (v13 >> U32(9)) + U32(0x25bb69a7)) + U32(0x5e6e311d) * (U32(0x6b800000) * v13 - U32(0x4e787b0)) + U32(0x6127a448) - U32(0x1576575b) * ((U32(0x290417fa) * (U32(0x308a955) * (v13 >> U32(9)) + U32(0x25bb69a7)) - U32(0x161f2e15)) | (-U32(0x77670a32) * (U32(0x6b800000) * v13 - U32(0x4e787b0)) - U32(0x67556061)))) + U32(0x6e98cc67) * (v300 + U32(0x57936f2d) * ((-U32(0x101e445e) * v11) & U32(0xdf873d6)))
403
+
404
+ v249 = i8c(-U32(19) * LOBYTE(v315[U32(22)]))
405
+ v14 = (U32(0x755b14ed) * v315[U32(22)] - U32(0xfa73bbb)) / U32(5) - U32(0x67baf6ac) - ((U32(2) * ((U32(0x755b14ed) * v315[U32(22)] - U32(0xfa73bbb)) / U32(5))) & U32(0x23c63882))
406
+ v15 = U32(0x1e5ef717) + U32(0x16fac07a) * (U32(0x11e31c41) ^ -U32(0x661ed13) + v14)
407
+ v16 = read316(v316[U32(63)])
408
+ v304 = U32(0x1652896) + (U32(0x2a3090c2) ^ -U32(0x175bb0a7) * v15)
409
+ v17 = -U32(0x4debb223) + U32(0x73df1a07) * v16 - U32(0x73df1a07) * (-U32(0x6f72b2db) | v16) - U32(0x73df1a07) * ((U32(0x164ce359) ^ (v16 | read317(v317[U32(60)]))) & (U32(0x640a258) | U32(0x100c4101) & v16)) - U32(0x73df1a07) * (U32(0x7f7ef3db) | v16 | U32(0x164ce359) ^ read317(v317[U32(60)])) + U32(0x73df1a07) * (U32(0x164ce359) | v16 | read317(v317[U32(60)]))
410
+ v253 = (-U32(0x2f49c615) * (((U32(0x6ac333b7) * v17 - U32(0x295daffc)) & (((read317(v317[U32(60)])) | U32(0x6f72b2da)) ^ U32(0x86605088)) & U32(0x86605088)) + -U32(0x6ac333b7) * v17 + (~((read317(v317[U32(60)])) | U32(0x6f72b2da)) & U32(0x799faf77)) + ((U32(0x6ac333b7) * v17 - U32(0x295daffc)) | ((read317(v317[U32(60)])) | U32(0x6f72b2da)) ^ U32(0x86605088) | U32(0x86605088))) - U32(0x4da857ac)) / U32(3) + U32(0x4fd491a8)
411
+ v18 = (((((-U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(33)]))] - U32(0x6448adfb)) | U32(0xc3456f96)) + U32(0x19f50000)) ^ U32(0x87c9)) - U32(0x19f50000)) & U32(0xbcbbfeeb) ^ U32(0xa69b640a)
412
+ v42_r = read318(v318[U32(42)])
413
+ v18_t = (v18 + U32(0x59641d3c) - ((U32(2) * v18) & U32(0xb2c83a78))) / U32(5) - U32(0x88c9600)
414
+ v318[U32(42)] = -v42_r - v18_t + ((U32(2) * (v18_t + v42_r + U32(0x66c6f78c))) | U32(0x842fbc0a)) + U32(0x3afea6e8)
415
+ v18 = (v18 & U32(0xffffff00)) | u8c((U32(127) * LOBYTE(v317[idx64(LOBYTE(v315[U32(55)]))]) - U32(48)) & U32(0x1f))
416
+ v19 = ((((U32(0x6f72b2db) << (((((U32(32) - v18) & U32(0x1f)) + U32(48)) ^ U32(0x30)) & U32(31))) + U32(0x6e39ffff)) ^ U32(0x3cc0)) - U32(0x6e3a0000)) ^ ((((U32(0x6f72b2da) >> (v18 & U32(31))) + ~(U32(0xffffffff) >> (v18 & U32(31))) + U32(0x6e3a0000)) ^ U32(0x3cc0)) - U32(0x6e3a0000)) ^ U32(0x6ce109e9)
417
+ v278 = i8c(-U32(29) + v19 - U32(2) * (U32(22) | v19))
418
+ v20 = (read317(v317[U32(26)])) | read317(v317[idx64(LOBYTE(v315[U32(87)]))])
419
+ v19 = (v19 & U32(0xffffff00)) | u8c(((U32(127) * LOBYTE(v317[U32(26)]) - U32(48)) & U32(6) | U32(0x41)) - U32(72) - ((U32(127) * LOBYTE(v317[U32(26)]) - U32(48)) & U32(0x90) | U32(0x28)))
420
+ v255 = i8c(-U32(5) * v20 - -U32(5) * ((v20 | v19 | U32(0xb8)) + (v20 & v19 & U32(0xb8)) + (~u8c(v19) & U32(0x47))) - U32(17))
421
+ v275 = -U32(0x2a3090c3) ^ -U32(0x1652896) + v304
422
+ v259 = i8c(-U32(128) + (U32(61) ^ -U32(22) + v304))
423
+ v301 = read318_off(v318[v259 & U32(0x3f)]) / U32(5)
424
+ v289 = v275 & (U32(0x12ffaf12) ^ v301)
425
+ expr421 = U32(0x33af54cd) - (-U32(0x5755d0a) & U32(0x7dbb7ad0) - U32(0x2bf06481) * v317[U32(42)]) - U32(2) * (U32(0x3924b1d8) | -U32(0x3d75fdda) & ~(-U32(0x2448530) - U32(0x2bf06481) * v317[U32(42)])) ^ U32(0x56c16bae) - (-U32(0x4a5404f6) & U32(0x7dbb7ad0) - U32(0x2bf06481) * v317[U32(42)]) - U32(2) * (U32(0x211570a5) | U32(0x14aa8b0a) & ~(-U32(0x2448530) - U32(0x2bf06481) * v317[U32(42)]))
426
+ v21 = U32(0x1998bad) - (-U32(0x67ce3e83) ^ expr421)
427
+ v22 = v275 & (U32(0x14a074b3) ^ -U32(0x1998bae) + v21 & (U32(0x3047874d) | read317(v317[U32(42)])))
428
+ v276 = U32(0x9c94810) + (v22 ^ U32(0x3eb0f4f3) + U32(2) * (-U32(0x3eb0f4f4) & -U32(0x1652896) + v304) - (-U32(0x14a074b4) & -U32(0x1652896) + v304))
429
+ v283 = U32(2) * (U32(0x10cf2f10) & -U32(0x1652896) + v304)
430
+ expr429 = U32(0x6a7828e1) - (-U32(0x688617d7) & read317(v317[U32(42)])) - U32(2) * (-U32(0x2d01bf47) | U32(0x501a800) & ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(42)])) ^ U32(0x76561a96) - (U32(0x58c1909b) & read317(v317[U32(42)])) - U32(2) * (U32(0x1d9489fc) | -U32(0x3fbeeffd) & ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(42)]))
431
+ v23 = -U32(0xb640000) + (U32(0xad69) ^ U32(0xb63ffff) - (-U32(0x309536bb) ^ expr429))
432
+ v24 = v23 & U32(0x1ad1af2c) ^ v23 & (U32(0x52f1eed9) - ((U32(0x2bf06481) * v317[U32(42)] - U32(2) * ((read317(v317[U32(42)])) | U32(0x87cd9e0a)) + U32(0xa122338)) & U32(0x4f2159fc)) + U32(2) * ((U32(0x2bf06481) * v317[U32(42)] - U32(2) * ((read317(v317[U32(42)])) | U32(0x87cd9e0a)) + U32(0xa122338)) & U32(0x422148d8) | U32(0xad0e1127))) ^ (-U32(0x1127) - ((U32(0x6481) * LOWORD(v317[U32(42)]) - U32(2) * (u16c((U32(0x6481) * LOWORD(v317[U32(42)]) - U32(0x7ad1))) | U32(0x9e0a)) + U32(0x2338)) & U32(0x59fc)) + U32(2) * ((U32(0x6481) * LOWORD(v317[U32(42)]) - U32(2) * (u16c((U32(0x6481) * LOWORD(v317[U32(42)]) - U32(0x7ad1))) | U32(0x9e0a)) + U32(0x2338)) & U32(0x48d8) | U32(0x1127))) & U32(0xad69) ^ U32(0x46e895d6)
433
+ v25 = (-U32(0x46e838ff) ^ v24) & (-U32(0x9232d7c) ^ v301)
434
+ v26 = U32(0x76d3035c) - v24 - v25 - (-U32(0x9232d7c) | v24) - U32(2) * (-U32(0x92bef80) | ~v24) + U32(2) * (v25 | -U32(0x922205a) + v24 - (-U32(0x9232d7c) & v24) - (-U32(0x92bef80) ^ v24))
435
+ v27 = (-U32(0x301d0d27) ^ v26) & (U32(0x687763d5) ^ -U32(0x9c94810) + v276 & (v289 ^ -U32(0x10cf2f11) + v283 - (U32(0x12ffaf12) & -U32(0x1652896) + v304)))
436
+ v28 = U32(0x7b78730f) - (-U32(0x687763d6) ^ (U32(0x7fffffff) | v26)) - (v27 ^ -U32(0x14000003) + v26 - (U32(0x20012140) ^ v26) - (-U32(0x17889c2b) & v26))
437
+ v29 = -U32(0x29e43c85) + (U32(0x39cbc6c) ^ -U32(0x13010f3b) + v28)
438
+ v318[U32(63)] = -U32(0x1c228387) + (-U32(0x3de821fb) ^ -U32(0x29e43c85) - v29 + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(63)]))
439
+ v317[U32(25)] = v317[U32(25)] - U32(0x5863db81) * read318(v318[v259 & U32(0x3f)]) + U32(0x39fe1474)
440
+ v284 = -U32(0x128b26c3) * v253 + U32(0x532b4d1a)
441
+ expr443 = U32(0x683d1559) - U32(2) * (-U32(0x17c2eaa6) | ~v284 & U32(0x1c228387) + v318[U32(21)]) + (~v284 & -U32(0x63dd7c79) + v318[U32(21)]) ^ -U32(0x2b4202ce) - v284 - U32(2) * (U32(0x12a61f2f) | -U32(0x3fee4000) & ~v284) - (U32(0x4217de05) | ~v284)
442
+ v30 = U32(0x6bb0000) + (U32(0x42c4) ^ -U32(0x6bb0001) - (-U32(0x564f58b) ^ expr443))
443
+ v31 = v30 & ((((U32(2) * v318[U32(21)] + U32(0x3845070e)) & U32(0x842fbc0a)) - v318[U32(21)] + U32(0x43a94950) - ((U32(2) * (((U32(2) * v318[U32(21)] + U32(0x3845070e)) & U32(0x842fbc0a)) - v318[U32(21)]) + U32(0x438b3ce6)) | U32(0x43c755bc))) & U32(0xe048272c) ^ U32(0x5e34ba68)) ^ ((((U32(2) * LOWORD(v318[U32(21)]) + U32(0x70e)) & U32(0xbc0a)) - LOWORD(v318[U32(21)]) + U32(0x4950) - (u16c((U32(2) * (((U32(2) * LOWORD(v318[U32(21)]) + U32(0x70e)) & U32(0xbc0a)) - LOWORD(v318[U32(21)])) + U32(0x3ce6))) | U32(0x55bc))) & U32(0x272c) ^ U32(0xba68)) & U32(0x42c4) ^ U32(0x5264a299)
444
+ v32 = -U32(2) * (U32(0xa00400) & -U32(0x1652896) + v304) + (U32(0xa62722) & -U32(0x1652896) + v304)
445
+ v290 = -U32(0x6dbd18bc) + U32(0x54af123b) * (v31 ^ U32(0x61c340b7) & v30) + v315[U32(122)] * (U32(0x31ba214) + U32(0x628cb593) * (v31 ^ U32(0x61c340b7) & v30) + U32(0x3ae694da) * (-U32(0x2d9b1de3) | v31 ^ -U32(0x1e3cbf49) & v30)) + U32(0x56a1db8a) * (-U32(0x2d9b1de3) | v31 ^ -U32(0x1e3cbf49) & v30)
446
+ v317[U32(60)] = v290
447
+ v267 = read316(v316[idx64(LOBYTE(v315[U32(120)]))])
448
+ v33 = U32(0x5eae21db) ^ (v267 | ~(U32(0x2a3090c2) ^ -U32(0x1652896) + v304))
449
+ v34 = U32(0x7fffffff) - (U32(0x2151de24) ^ v33) & (-U32(0x198d63b0) ^ U32(0x1d0f63a6) - v32 ^ U32(0x2c34b76b) & -U32(0x1652896) + v304)
450
+ v35 = ~v34
451
+ v315[U32(5)] = v315[U32(5)] - U32(0x11a1971b) * v35
452
+ v318[U32(35)] = U32(0x63dd7c79) + (-U32(0x3de821fb) ^ U32(0x31a7e76f) + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(35)]))
453
+ v250 = i8c(-U32(0x13f880) - U32(0x23ff) * (U32(90) ^ U32(50) + v278))
454
+ v250_val = v318[v250 & U32(0x3f)]
455
+ v250_m = v318_mask(v250_val)
456
+ v250_nr = v250_m - v250_val
457
+ v265 = U32(0x19eca8cf) * v250_m - U32(0x19eca8cf) * (((U32(2) * v250_nr + U32(0x438b3ce7)) & U32(0x211a9a4a)) + v250_val) - U32(0x63ca6a0c)
458
+ t29 = read316(v316[U32(29)])
459
+ t18 = read316(v316[idx64(LOBYTE(v315[U32(18)]))])
460
+ t29_or = t29 | U32(0x3cba9069)
461
+ t18_or = (t18 | U32(0xc3456f96)) ^ U32(0x6276a54d)
462
+ v36 = -U32(2) * (-U32(0x1d9b5af7) & (-U32(0x9a4857) ^ t29_or)) + (U32(0x6276a54d) & (-U32(0x9a4857) ^ t29_or))
463
+ inner = (t29_or & t18_or)
464
+ expr = U32(0x80000000) + U32(3) * (inner ^ U32(0x1d9b5af6) - v36)
465
+ v37 = U32(0x593e77bd) * (-U32(0xbb196ef) ^ expr)
466
+ v38 = ~(U32(0x6916fb95) * v37) | -U32(0x5655) ^ -U32(0x20ae0000) + (U32(0x5654) ^ -U32(0x5d0d7ad1) + U32(0x2bf06481) * v317[U32(44)])
467
+ v317[U32(44)] = U32(0x59bf3393) + v317[U32(44)] + U32(0x206c3d15) * v37 - U32(0x4f3848fe) * v38 + U32(0x4f3848fe) * (-U32(0xbb196ef) & U32(0x2448531) + U32(0x2bf06481) * v317[U32(44)] - U32(0x16e9046b) * v37 + U32(2) * v38)
468
+ v251 = v317[U32(44)]
469
+ v39 = v317[idx64(LOBYTE(v315[U32(44)]))]
470
+ v40 = -U32(0x4f740f4c) - (U32(0x15f40359) ^ U32(0x244852f) + U32(0x2bf06481) * v39)
471
+ v315[U32(107)] = v315[U32(107)] + U32(0x11a1971b) * (-U32(0x15f4035a) ^ -U32(0x308bf0b5) + v40)
472
+ v40 = (v40 & U32(0xffffff00)) | u8c((-U32(19) * LOBYTE(v315[U32(71)]) + U32(69)) & U32(0x1f))
473
+ v41 = ((((-U32(0x4f2159fc) << (((((U32(32) - v40) & U32(0x1f)) + U32(58) - ((U32(2) * (U32(32) - v40)) & U32(0x14))) ^ U32(0x3a)) & U32(31))) + U32(0x29c6ffff)) ^ U32(0x9d87)) - U32(0x29c70000)) ^ ((((U32(0xb0dea603) >> (v40 & U32(31))) + ~(U32(0xffffffff) >> (v40 & U32(31))) + U32(0x29c70000)) ^ U32(0x9d87)) - U32(0x29c70000)) ^ U32(0x80651d5b)
474
+ v42 = -U32(0x5ada25d5) ^ -U32(0x3c00395d) + v41 - U32(2) * (-U32(0x3c00395d) | U32(0x10000904) & v41) + (-U32(0x6f72b2db) | ~v41)
475
+ v277 = -U32(0x557b4886) - U32(0x226224d) * (U32(0x1920ee76) ^ v42)
476
+ v43 = read317(v317[U32(29)])
477
+ v262 = v43 | U32(0x6f72b2da)
478
+ v269 = (v43 | U32(0x6f72b2da)) ^ U32(0xec13b6f2)
479
+ v263 = U32(0x265be685) * v277 - U32(0x2828ee63)
480
+ v42 = (v42 & U32(0xffffff00)) | u8c(v40 - U32(2) * ((-U32(19) * LOBYTE(v315[U32(71)]) + U32(69)) & U32(1)) + U32(97))
481
+ v44 = ~v43 & (((((-U32(0x4f2159fc) << (((((U32(32) - v40) & U32(0x1f)) + U32(34) - ((U32(2) * (U32(32) - v40)) & U32(4))) ^ U32(0x22)) & U32(31))) + U32(0x6318ffff)) ^ U32(0x2cda)) - U32(0x63190000)) ^ ((((U32(0xb0dea603) >> ((v42 ^ U32(0x61)) & U32(31))) + ~(U32(0xffffffff) >> ((v42 ^ U32(0x61)) & U32(31))) + U32(0x63190000)) ^ U32(0x2cda)) - U32(0x63190000)) ^ U32(0xfcb4e3fc))
482
+ v45 = ~(-U32(0x144148aa) ^ v44 ^ U32(0x7792f696) - v43 - U32(2) * (-U32(0x521ed64) | U32(0x420e160) & ~v43) - (-U32(0x34b1c04) | ~v43))
483
+ v46 = U32(0x3ccd66eb) - (-U32(0x6e9f5a36) ^ v45)
484
+ v47 = -U32(0x64f6554e) + v262 + U32(0x265be685) * v277 + v46 - (v263 & v269 | U32(0x13ec490d) & (v263 | v269)) + (U32(0x13ec490d) | ~v262)
485
+ v48 = -U32(0x3ccd66ec) + v46 | -U32(0x2828ee62) + v262 + U32(0x265be685) * v277 - (v263 & v269 | U32(0x13ec490d) & (v263 | v269)) + (U32(0x13ec490d) | ~v262)
486
+ v318[U32(54)] = -U32(0x3845070f) - v318[U32(54)] - v47 + v48 + U32(2) * (U32(0x1c228387) + v318[U32(54)] ^ U32(0x3de821fa) & (-~(v47 - v48 + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(54)])) ^ U32(0x1c228387) + v318[U32(54)]))
487
+ v49 = read316(v316[idx64(LOBYTE(v315[U32(45)]))])
488
+ v315[U32(62)] = -U32(0x467999b9) + U32(0x6e5e68e5) * (U32(0x242c2d76) ^ U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(62)])
489
+ v260 = v315[U32(62)]
490
+ v50 = read317(v317[U32(45)])
491
+ v51 = (v50 | U32(0x4cf50fa3)) & ((v49 | v50) ^ U32(0x3966a969))
492
+ v52 = U32(2) * (U32(0x18040909) & (U32(0x1e041b99) ^ (-U32(0x330af05d) | v50))) - (U32(0x3966a969) & (U32(0x1e041b99) ^ (U32(0x4cf50fa3) | v50)))
493
+ v53 = -U32(0x66b83c8) - (v51 ^ -U32(0x1804090a) + v52)
494
+ v54 = -U32(0x4e030ef4) + v49 + (-U32(0x4cf50fa4) | ~v49)
495
+ v55 = -U32(0x7eac89ca) ^ -U32(0x6507e168) + v54 & U32(0x66b83c7) + v53
496
+ v56 = (-U32(0x2bf06481) * v317[v259 & U32(0x3f)] + U32(0x7dbb7ad0)) / U32(5) + U32(0x8087b19)
497
+ v57 = U32(0x7a93c2b6) + (-U32(0x317fcc7f) ^ U32(0x8087b19) - v56 + (-U32(0x1537637) ^ v55))
498
+ v58 = U32(0xd0e8a5f) + (-U32(0x317fcc7f) ^ U32(0x56c3d4a) + v57)
499
+ v318[U32(19)] = -U32(0x1c228387) + (-U32(0x3de821fb) ^ U32(0xd0e8a5f) - v58 + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(19)]))
500
+ v264 = -U32(0x519f5e2f) * v265 - U32(0xe0cbcd)
501
+ v54 = (v54 & U32(0xffffff00)) | u8c(v317[(-U32(47) * v265 + U32(51)) & U32(0x3f)] * (-U32(96) - v317[(-U32(47) * v265 + U32(51)) & U32(0x3f)]) - U32(1))
502
+ v58 = (v58 & U32(0xffffff00)) | u8c(U32(256) - U32(59) * (U32(6) ^ v54))
503
+ v59 = v316[(U32(13) * u8c(v58) - U32(7) - ((U32(26) * u8c(v58)) & U32(0xf2))) & U32(0x3f)]
504
+ v279 = U32(0x63dd7c78) - (-U32(0x3de821fb) ^ U32(0x1bb75205) - U32(0x35d1732d) * v59)
505
+ v60 = read316(v316[idx64(LOBYTE(v315[U32(27)]))]) + U32(0x6448adfb)
506
+ v318[U32(21)] = U32(0x2c03a6ea) - v318[U32(21)] - v60 - U32(2) * (-U32(0x1c228388) - v318[U32(21)] | -U32(0xd189) ^ U32(0x3ace0000) + (U32(0xd188) ^ -U32(0x1f16adfb) + v60))
507
+ v52 = (v52 & U32(0xffffff00)) | u8c(U32(2) * (-U32(48) * (LOBYTE(v317[U32(41)]) + v290) - v290 * LOBYTE(v317[U32(41)]) - U32(1)))
508
+ v58 = (v58 & U32(0xffffff00)) | u8c(-U32(48) * (LOBYTE(v317[U32(41)]) + v290) - v290 * LOBYTE(v317[U32(41)]) - U32(1) - (v52 & U32(0x42)))
509
+ v60 = (v60 & U32(0xffffff00)) | u8c(U32(31) & ~(U32(127) - (U32(94) ^ U32(33) + v58)))
510
+ v34 = (v34 & U32(0xffffff00)) | u8c(-U32(48) * (LOBYTE(v317[U32(41)]) + v290) - v290 * LOBYTE(v317[U32(41)]) - U32(1) - (v52 & U32(0x9e)))
511
+ v273 = -U32(923132121) - U32(185571887) * (U32(1) << (U32(31) & v60))
512
+ v60 = (v60 & U32(0xffffff00)) | u8c(U32(31) & U32(128) + (U32(106) ^ -U32(22) + U32(2) * (U32(5) & U32(32) - (U32(31) & ~(-v34))) - (U32(31) & U32(32) - (U32(31) & ~(-v34)))))
513
+ v61 = ~(U32(0xffffffff) >> (v60 & U32(31))) + (U32(0x98b99bd8) >> (v60 & U32(31)))
514
+ v317[U32(10)] = U32(0x628cb593) * v315[U32(73)] + U32(0x10a7e50b)
515
+ v252 = v317[U32(10)]
516
+ v60 = (v60 & U32(0xffffff00)) | u8c((((U32(2) * LOBYTE(v318[U32(60)]) + U32(14)) & U32(0xa)) - (LOBYTE(v318[U32(60)]) - U32(116))) & U32(0x1f))
517
+ v62 = U32(0x2bf06481) * v317[idx64(LOBYTE(v315[U32(98)]))]
518
+ v63 = (((v62 - U32(0x7dbb7ad1)) >> (v60 & U32(31))) + ~(U32(0xffffffff) >> (v60 & U32(31))) - U32(0x74060000)) ^ U32(0x3056)
519
+ v60 = (v60 & U32(0xffffff00)) | u8c(xform_v318(LOBYTE(v318[U32(60)])))
520
+ v64 = (((((v62 - U32(2109438672)) << ((((v60 & U32(0x1F)) + U32(12) - ((U32(2) * v60) & U32(0x18))) ^ U32(0xC)) & U32(31))) - U32(1946550273)) ^ U32(0x3056)) + U32(1946550272)) ^ (v63 + U32(1946550272)) ^ U32(0x72272ACA)
521
+ v318[U32(20)] = U32(0x47baf8f0) - v318[U32(20)] - U32(2) * (-U32(0x1c228388) - v318[U32(20)] | -U32(0x27f0) ^ -U32(0x15e00000) + (U32(0x27ef) ^ U32(0x15dfffff) - (U32(0xdd8d535) ^ v64))) + (U32(0xdd8d535) ^ v64)
522
+ v65 = U32(0x363f4c3f) - (U32(0x4217de05) & read317(v317[U32(56)])) - U32(2) * (-U32(0xbd891c5) | U32(0x2109004) & ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(56)])) ^ U32(0x676ca7e5) - U32(2) * (-U32(0x1893581a) | ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(56)]) & U32(0x1c228387) + v318[U32(41)]) + (~(read317(v317[U32(56)])) & -U32(0x63dd7c79) + v318[U32(41)])
523
+ v258 = i8c(U32(69) + U32(137) * v273 + v61 - U32(2) * (v61 & U32(32) + U32(9) * v273))
524
+ v66 = ((-U32(0x2bf06481) * v317[U32(56)] + U32(0x7dbb7ad0)) | (-U32(0x35d1732d) * v316[v258 & U32(0x3f)] - U32(0x6448adfb))) ^ U32(0xd076d46c)
525
+ v67 = -U32(0x39fe0000) + (U32(0x83c8) ^ U32(0x39fdffff) - (-U32(0x6cb43623) ^ v65))
526
+ v68 = v66 & U32(0x83c8) ^ v66 & v67 ^ v67 & U32(0xd076d46c) ^ U32(0xbd5bded4)
527
+ v318[U32(49)] = ((((v68 + U32(0x42a4a163) - ((U32(2) * v68) & U32(0x854942c6))) >> U32(1)) + U32(0x3ca26ebc) - v279 + ((U32(2) * v279 + U32(0x3845070e)) | U32(0x842fbc0a)) - ((v68 + U32(0x42a4a163) - ((U32(2) * v68) & U32(0x854942c6))) & U32(0x1adcd048)) - ((U32(2) * (((v68 + U32(0x42a4a163) - ((U32(2) * v68) & U32(0x854942c6))) >> U32(1)) - ((v68 + U32(0x42a4a163) - ((U32(2) * v68) & U32(0x854942c6))) & U32(0x1adcd048))) + U32(0x1adcd048)) & U32(0x1adcd048))) ^ U32(0x4217de05)) + U32(0x63dd7c79)
528
+ v69 = v316[idx64(LOBYTE(v315[U32(10)]))]
529
+ v70 = -U32(0x7c2cc4d) + (U32(0x369466f) ^ -U32(0x22dbd825) + v69 * (-U32(0x240fc5e4) + U32(0x1ab48a17) * v69))
530
+ v71 = -U32(0x6b78d406) * (-U32(0x3694670) ^ U32(0x7c2cc4d) + v70) + v69 * (U32(0x80000000) - U32(0x217f3dd3) * (-U32(0x3694670) ^ U32(0x7c2cc4d) + v70))
531
+ v72 = U32(0x7fffffff) - (-U32(0x394ed5b2) ^ U32(0x1c228387) + v318[U32(39)])
532
+ v73 = U32(0x7fffffff) - (U32(0x18e76093) ^ -U32(0x630eaff) * v71) & (-U32(0x7b590bb5) ^ v72)
533
+ v74 = U32(0x5fdf3876) - v72 - v73 - (U32(0x67189f6c) | v72) - U32(2) * (-U32(0x1fff66f8) | ~v72) + U32(2) * (v73 | -U32(0x18c60004) + v72 - (-U32(0x18e76094) & v72) - (-U32(0x1fff66f8) ^ v72))
534
+ v75 = (-U32(0x339f2bd) ^ v74) & (-U32(0x647011ed) ^ U32(0x596e2234) - (U32(0x4217de05) & read317(v317[U32(37)])) - U32(2) * (U32(0x17564430) | -U32(0x3ffe65fb) & ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(37)])) ^ U32(0x6b3f78bb) - U32(2) * (-U32(0x14c08744) | ~(U32(0x244852f) + U32(0x2bf06481) * v317[U32(37)]) & U32(0x1c228387) + v318[U32(39)]) + (~(read317(v317[U32(37)])) & -U32(0x63dd7c79) + v318[U32(39)]))
535
+ v76 = -U32(0x3038925f) + U32(0x388bf7f5) * (v75 ^ -v74 + (U32(0x18192d60) & v74) + (U32(0x18000d40) ^ v74))
536
+ v77 = -U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(43)]))]
537
+ v317[U32(24)] = -U32(0x44072d30) - U32(0x5863db81) * (U32(0x244852f) + U32(0x2bf06481) * v317[U32(24)] ^ U32(0x28b7f083) + U32(0x2873bc5d) * v76)
538
+ v77 = (v77 & U32(0xffffff00)) | u8c(U32(194) ^ U32(34) - U32(2) * (U32(168) | U32(123) & ~(U32(5) + v77)) - (U32(123) & U32(5) + v77) ^ -U32(38) - U32(2) * (U32(217) | U32(2) & ~(U32(5) + v77)) - (U32(2) & U32(5) + v77))
539
+ v77 = (v77 & U32(0xffffff00)) | u8c(U32(37) * ((v77 | U32(0x7d)) + (v77 & U32(0x4c)) + (~u8c(v77) & U32(0xb3))) + U32(119))
540
+ v257 = i8c(U32(32) + U32(79) * v77 + U32(214) * (U32(22) | -U32(25) - U32(45) * v77))
541
+ v76 = (v76 & U32(0xffffff00)) | u8c(U32(45) * LOBYTE(v316[idx64(LOBYTE(v315[U32(31)]))]) - U32(6))
542
+ v77 = (v77 & U32(0xffffff00)) | u8c(U32(2) * v76)
543
+ v76 = (v76 & U32(0xffffff00)) | u8c(U32(31) & v76)
544
+ v75 = (v75 & U32(0xffffff00)) | u8c(U32(128) + (U32(49) ^ -U32(51) - v76 + v77 - (U32(28) | v77)))
545
+ v78 = U32(0x7afcb137) * (((U32(0x519f5e2f) * v265 + U32(0xe0cbcc)) >> (v75 & U32(31))) + ~(U32(0xffffffff) >> (v75 & U32(31))))
546
+ v79 = U32(663825449) * ((U32(1369398831) * v265 + U32(14732237)) << (((((U32(32) - v76) & U32(0x1F)) - U32(2) * ((U32(32) - v76) & U32(0x1B)) - U32(37)) ^ U32(0xDB)) & U32(31))) - U32(1376933510)
547
+ v80 = v318[idx64(LOBYTE(v315[U32(50)]))]
548
+ v81 = -U32(0xf4cbf9a) ^ -U32(0x30c4d711) - U32(2) * (-U32(0x1c459e8a) | -U32(0x147f3887) & U32(0x1c228387) + v80) + (U32(0x147f3886) | -U32(0x63dd7c79) + v80)
549
+ v82 = -U32(0x424f35b8) - U32(0x5a8cbb0f) * (-U32(0x5109e712) ^ v81)
550
+ v83 = U32(0x34bd303c) + U32(0x4c8dd1a7) * (-U32(0x147f3887) | -U32(0x6cf59316) + U32(0x4f942b79) * v78 + U32(0x86ccfe7) * v79 + U32(2) * (U32(0x306bd487) * v78 & -U32(0x130a6ceb) - U32(0x86ccfe7) * v79))
551
+ v84 = U32(0x2e01163) - (U32(0x68b9cec7) - U32(0x3f6f2c11) * v82 & -U32(0x65d9bd64) - U32(0x229239e9) * v83)
552
+ v317[U32(13)] = -U32(0x6ba351af) + U32(0x5863db81) * (U32(0x244852f) + U32(0x2bf06481) * v317[U32(13)] ^ -U32(0x2e01164) + v84)
553
+ v85 = -U32(0x35d1732d) * v316[(-U32(51) * v255 - U32(99)) & U32(0x3f)] - U32(0x6448adfb)
554
+ v86 = -U32(0x2c4e07cc) - U32(2) * (-U32(0x2c4e07cb) | ~v85 & U32(0x1c228387) + v318[U32(58)]) + (~v85 & -U32(0x63dd7c79) + v318[U32(58)]) ^ U32(0x1048fd5b) - v85 - U32(2) * (-U32(0x31cee0a8) | U32(0x6c005) & ~v85) - (U32(0x4217de05) | ~v85)
555
+ v87 = -U32(0x45520000) + (U32(0xf9ec) ^ U32(0x4551ffff) - (U32(0x1d80e76d) ^ v86))
556
+ v88 = v87 & U32(0xcddc11aa) ^ v87 & (-U32(0x3226a250) - ((v318[U32(58)] - U32(0x63dd7c79)) & U32(0x908d4d25)) + U32(2) * ((v318[U32(58)] - U32(0x63dd7c79)) & U32(0x80894d25) | U32(0x3226a250))) ^ (U32(0x5db0) - ((LOWORD(v318[U32(58)]) - U32(0x7c79)) & U32(0x4d25)) + U32(2) * ((LOWORD(v318[U32(58)]) - U32(0x7c79)) & U32(0x4d25) | U32(0xa250))) & U32(0xf9ec) ^ U32(0x388842ff)
557
+ v89 = -U32(2) * (U32(0x10005041) & v88) + (-U32(0x6cefaf9f) & v88)
558
+ v90 = (U32(0x38885357) ^ v88) & (-U32(0x23e78830) ^ -U32(0x74ca8972) - v85 - U32(2) * (-U32(0x1056ed0e) | U32(0x1004610c) & ~v85) - (U32(0x1b8c639e) | ~v85) ^ U32(0x6a5ff975) - v85 - U32(2) * (-U32(0x20a13544) | U32(0x12403) & ~v85) - (-U32(0x74fed145) | ~v85))
559
+ v91 = ~(v90 ^ -U32(0x10005042) - v89)
560
+ v92 = U32(0x7605107c) - U32(2) * (-U32(0x9faef83) | ~v91 & U32(0x1c228387) + v318[U32(35)]) + (~v91 & -U32(0x63dd7c79) + v318[U32(35)]) ^ -U32(0x25f4748) - v91 - U32(2) * (U32(0x3b88dab5) | -U32(0x3fe8fc00) & ~v91) - (U32(0x4217de05) | ~v91)
561
+ v93 = -U32(0x1e72e02b) - U32(0x238331ad) * (-U32(0x32723538) ^ v92)
562
+ v94 = U32(0x3313627b) * ~(U32(0x203c1bbd) ^ -U32(0x1c228388) - v318[U32(35)])
563
+ v95 = ~(U32(0x3de821fa) ^ U32(0x1c228387) + v318[U32(29)]) | ~(U32(0x1dd43a47) ^ -U32(0x2b00d34d) * v94)
564
+ v96 = v95 ^ U32(0x5356336b)
565
+ v97 = U32(0x393f5a25) * v93 - U32(0x79017bca)
566
+ v98 = -U32(0x693a2ac4) - U32(0x393f5a25) * v93 - v95 + (-U32(0x5356336c) | v95) + (U32(0x5356336b) | v95 | v97)
567
+ v99 = -U32(0x16dc1d59) + v98 - U32(2) * (-U32(0x2fcefe1d) & -U32(0x1dc45972) + v98 + (-U32(0x2ca9cc95) & v96 & v97)) + (U32(0x5356336b) & v96 & v97)
568
+ v318[U32(28)] = U32(0x63dd7c79) + (U32(0x4217de05) ^ -(-U32(0x2fcefe1d) ^ -U32(0x36b73a36) + v99) + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(28)]))
569
+ v100 = read317(v317[idx64(LOBYTE(v315[U32(106)]))])
570
+ v101 = -U32(2) * (U32(0x30300022) & (U32(0x126ecc7a) ^ (v100 | v284))) + (-U32(0x4bc4f3d2) & (U32(0x126ecc7a) ^ (v100 | v284)))
571
+ v102 = -U32(0xb8732e0) - (-U32(0x2fa7ff00) | U32(0x2420cc20) & v100) + (U32(0x88200c4) | U32(0x305321b) & v100)
572
+ v103 = U32(0x32b48223) + v101 - ((-U32(0x4bc4f3d2) ^ (-U32(0x2725fe3c) | v284)) & (v100 | v284)) + U32(2) * (-U32(0x32b48223) - v101 | (U32(0x343b0c2e) ^ (-U32(0x2725fe3c) | v284)) & (v100 | v284)) & (-U32(0xb8732e0) ^ v102)
573
+ v317[U32(23)] = v317[U32(23)] - U32(0x5863db81) * (v103 ^ -v102 + (-U32(0x229e8e09) & v102) + (-U32(0x2b9fbee0) ^ v102))
574
+ v104 = U32(0x1a164566) - U32(2) * (-U32(0xc43d1cb) & U32(0x1a164566) + v315[U32(118)] * (U32(0x1ebd03e) - U32(0x433e369) * v315[U32(118)])) + v315[U32(118)] * (-U32(0x7e142fc2) + U32(0x7bcc1c97) * v315[U32(118)])
575
+ v105 = -U32(0x1f2d7a70) - U32(0x4bd064ef) * (U32(0xc43d1ca) ^ -U32(0xc43d1cb) + v104)
576
+ v317[U32(24)] = -U32(0x44072d30) - U32(0x5863db81) * (U32(0x3d5e8c8f) + U32(0x2a334a0f) * v105 ^ U32(0x244852f) + U32(0x2bf06481) * v317[U32(24)])
577
+ v106 = U32(0x6357b2b9) + U32(2) * (-U32(0x1fe555ed) ^ U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(108)])
578
+ v285 = read317(v317[U32(54)])
579
+ v107 = -U32(0x38793d0b) * v317[U32(41)] * v317[U32(41)] - U32(0x7dc36110) * v317[U32(41)] - U32(0x1524887c) - U32(0x7dc36110) * v317[U32(41)]
580
+ v108 = U32(0x31eb2df5) ^ -U32(0x4397db0a) - U32(2) * (U32(0x3c6824f7) | ~v285 & U32(0x1ca84d47) + v106) + (~v285 & -U32(0x6357b2b9) + v106) ^ -U32(0x5fe8832c) - v285 - U32(2) * (-U32(0x1fb32f02) | U32(0x1f822b00) & ~v285) - (U32(0x3fcaabd8) | ~v285)
581
+ v109 = -U32(0x5d84dceb) ^ (v285 | U32(0x4f055e3f) + U32(0x7d08bc0c) * v317[U32(41)] + v107 * (-U32(0x6337fd90) + U32(0x499520dd) * v317[U32(41)]))
582
+ v110 = -U32(0x3fe87489) * v317[U32(41)] * v317[U32(41)] - U32(0x6bd0eeb0) * v317[U32(41)] + U32(0x76dea124) - U32(0x6bd0eeb0) * v317[U32(41)]
583
+ v286 = -U32(0x43584f14) & U32(0x2104d4bf) + U32(0x32123604) * v317[U32(41)] + v110 * (-U32(0x7da29fb0) - U32(0x38e36339) * v317[U32(41)])
584
+ v111 = -U32(0x96fcd73) + (~(U32(0x2104d4bf) + U32(0x32123604) * v317[U32(41)] + v110 * (-U32(0x7da29fb0) - U32(0x38e36339) * v317[U32(41)])) & U32(0x7ffffffe) - U32(2) * (-U32(0x1e53d877) ^ -U32(0xfa73bbb) - U32(0xaa4eb13) * v315[U32(108)]))
585
+ v112 = ~(-U32(0x2c92d899) ^ U32(0x7fffffff) - (U32(0x39d35f01) ^ U32(0x3ca7b0ec) - v286) ^ U32(0x96fcd73) + v111)
586
+ v113 = v112 ^ U32(0xce03a165)
587
+ v114 = ~(v109 & v108 ^ v108 & U32(0xa27b2315) ^ v109 & U32(0x12302603) ^ U32(0xc2bf61c1)) & (v112 ^ U32(0x15418799))
588
+ v115 = -v114 - U32(2) * (U32(0x1b40243c) & v113) + (U32(0x3f70bc3f) & v113)
589
+ v116 = -U32(0x5c3e0e26) + (-U32(0x1aafe9c1) ^ U32(0x1b40243b) + v115 - U32(2) * (~v114 & -v113 + (U32(0x3f70bc3f) & v113) + (U32(0x1b40243c) ^ v113)))
590
+ v287 = -U32(0x1aafe9c1) ^ -U32(0x1c228388) - v318[U32(35)] ^ U32(0x23c1f1d9) - v116
591
+ v274 = v287 + U32(0x63dd7c79)
592
+ v318[U32(35)] = v287 + U32(0x63dd7c79)
593
+ v117 = (((U32(0x2bf06481) * v317[idx64(LOBYTE(v315[U32(39)]))] - U32(0x5d0d7ad1)) ^ U32(0x5654)) - U32(0x20ae0000)) ^ (((U32(0x2bf06481) * v317[U32(37)] - U32(0x5d0d7ad1)) ^ U32(0x5654)) - U32(0x20ae0000)) ^ U32(0xbe86d0b3)
594
+ v118 = -U32(2) * (-U32(0x7ffd3bc) & (-U32(0x38dd3bb) ^ (v264 | U32(0x18d1aa22) - U32(0x35d1732d) * v316[U32(29)]))) + (-U32(0x47ec01a) & (U32(0x7c722c45) ^ (v264 | -U32(0x672e55de) - U32(0x35d1732d) * v316[U32(29)])))
595
+ v119 = (-U32(0x1fc49cfa) ^ -U32(0x4bf9bc63) - (-U32(0x41792f4d) & U32(0xe0cbcc) + U32(0x519f5e2f) * v265) - U32(2) * (-U32(0xa808d15) | U32(0xa808010) & ~(U32(0xe0cbcc) - U32(0x2e60a1d1) * v265)) ^ U32(0x113ad1f3) - U32(2) * (U32(0x113ad1f4) | v117 & ~(U32(0xe0cbcc) - U32(0x2e60a1d1) * v265)) + (v117 & ~(U32(0xe0cbcc) + U32(0x519f5e2f) * v265))) & (v264 | -U32(0x672e55de) - U32(0x35d1732d) * v316[U32(29)])
596
+ v120 = U32(0x394e8e41) - U32(0x295fdfcd) * (v119 ^ U32(0x7ffd3bb) - v118)
597
+ v315[U32(34)] = U32(0x39866647) + U32(0x6e5e68e5) * (U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(34)] ^ U32(0x7ffd3ba) + U32(0x14e82505) * v120)
598
+ v121 = U32(0x255d0ec) - U32(2) * (-U32(0x17c0747a) & U32(0x1a164566) + v315[U32(78)] * (U32(0x1ebd03e) - U32(0x433e369) * v315[U32(78)])) + v315[U32(78)] * (-U32(0x7e142fc2) + U32(0x7bcc1c97) * v315[U32(78)])
599
+ v122 = U32(0x7fffffff) - (-U32(0x8f20d75) ^ U32(0x244852f) + U32(0x2bf06481) * v317[U32(40)]) & (U32(0x17c07479) ^ v121)
600
+ v123 = -U32(0x2f40cb9e) - (v122 ^ -U32(0x320d4284) + v121 - (U32(0x320034) ^ v121) - (U32(0x8f20d74) & v121))
601
+ v124 = (read317(v317[U32(40)])) | read317(v317[idx64(LOBYTE(v315[U32(35)]))])
602
+ v125 = (~v124 & (-U32(0x32ff46c8) | U32(0x2f40cb9d) + v123)) + (U32(0x32ff46c7) & -U32(0x2f40cb9e) - v123)
603
+ v317[U32(42)] = -U32(0x6ba351af) + U32(0x5863db81) * (U32(0x244852f) + U32(0x2bf06481) * v317[U32(42)] ^ v125 + (-U32(0x32ff46c8) & v124 & U32(0x2f40cb9d) + v123))
604
+ v126 = v318[idx64(LOBYTE(v315[U32(39)]))]
605
+ v127 = U32(0x3d076958) ^ -U32(0x7605cea2) - (-U32(0x3de821fb) ^ U32(0x1c228387) + v126)
606
+ v128 = -U32(0x76214a0d) + (-U32(0x2c7b2dd2) ^ U32(3) * (U32(0x3d076958) ^ v127))
607
+ v315[U32(49)] = v315[U32(49)] + (U32(0x11a1971b) * (v128 - ((U32(2) * v128 - U32(0x13bd6be6)) & U32(0xa709a45c))) + U32(0x6b46c739))
608
+ v318[U32(48)] = -U32(0x1c228388) - (U32(0x17d8b138) ^ U32(0x1652895) - v304)
609
+ v317[U32(62)] = -U32(0x5863db81) * read318(v318[v258 & U32(0x3f)]) + U32(0x2b7c4d71) - v317[idx64(LOBYTE(v315[U32(93)]))]
610
+ v129 = (-U32(0x2bf06481) * v317[idx64(LOBYTE(v315[U32(112)]))] + U32(0x7dbb7ad0)) / U32(3)
611
+ v245 = v318[U32(55)]
612
+ v130 = U32(2) * (-U32(0x3de821fb) & U32(0x1c228387) + v318[U32(55)])
613
+ v131 = read318_off(v318[U32(60)]) / U32(3)
614
+ v318[U32(55)] = U32(0x438b3ce8) + v129 + v130 - v131 - v245 + U32(2) * (-U32(0x3de821fb) | -U32(0x21c59e74) - v129 - v130 + v131 + v245)
615
+ v131 = (v131 & U32(0xffffff00)) | u8c(U32(80) - -U32(45) * LOBYTE(v316[U32(60)]))
616
+ v132 = i8c(~(-U32(36) - U32(67) * v257) & (U32(63) ^ v131))
617
+ v133 = -U32(67) * v257 - U32(36)
618
+ v131 = (v131 & U32(0xffffff00)) | u8c(U32(201) ^ (U32(87) ^ (U32(150) | v133)) & (U32(154) ^ ~(U32(105) & (U32(22) ^ v131))) ^ U32(154) & (U32(87) ^ (U32(150) | v133)) ^ (U32(4) | U32(65) & ~v131))
619
+ v134 = i8c(~(U32(3) ^ v132 ^ U32(16) - v133 - U32(2) * (U32(17) | U32(46) & ~v133) + (U32(63) | v133)) & (U32(219) ^ v131))
620
+ v306 = i8c(-U32(20) + (v134 ^ U32(255) + v131 - (U32(201) ^ v131) - (U32(237) & v131)))
621
+ v317[U32(55)] = v317[U32(55)] + (U32(0x4043378a))
622
+ v135 = v318[idx64(LOBYTE(v315[U32(68)]))]
623
+ v277 = (v277 & U32(0xffffff00)) | u8c(-U32(182) + (U32(125) ^ U32(20) + v306))
624
+ v315[U32(77)] = v315[U32(77)] + U32(0x7682cf5e) - U32(0x5bac4f41) * v316[((-U32(0x2bf06481) * v290 + U32(0x7dbb7ad0)) >> U32(1)) & U32(0x3f)]
625
+ v317[U32(29)] = -U32(0x5863db81) * (read318_off(v135) / U32(0xf)) - U32(0x44072d30)
626
+ v307 = v316[(U32(45) * LOBYTE(v316[(U32(45) * LOBYTE(v316[U32(37)]) - U32(6)) & U32(0x3f)]) - U32(6)) & U32(0x3f)]
627
+ v248 = v317[U32(46)] - U32(0x4e7988ad) * v307 - U32(0x4586647b)
628
+ v247 = -U32(0x5863db81) + U32(0x4f3848fe) * (U32(0x244852f) + U32(0x2bf06481) * v317[U32(46)] | U32(0x1bb75205) - U32(0x35d1732d) * v307)
629
+ v136 = read317(v317[U32(59)])
630
+ v137 = read316(v316[U32(29)])
631
+ v138 = v136 | ~((U32(0x35d1732d) * v316[U32(60)] + U32(0x6448adfa)) / U32(5))
632
+ v139 = -U32(0x29b35636) + U32(0x12c07e19) * (v138 & (U32(0x41c18798) & v136 | -U32(0x41c18799) & v136 | v136 ^ v137))
633
+ v305 = -U32(0x105d98b7) - -U32(0x55b3bb09) * (-U32(0x3667fe29) * v139 - (~((U32(0x35d1732d) * v316[U32(60)] + U32(0x6448adfa)) / U32(5)) | v137) + (~((U32(0x35d1732d) * v316[U32(60)] + U32(0x6448adfa)) / U32(5)) | v137 | (U32(0x3667fe29) * v139 - U32(0x4f039d5a))))
634
+ v272 = -U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(16)]))] - U32(0x6448adfb)
635
+ v140 = (U32(0x36276fb4) ^ U32(0x36276fb4) - (U32(0x26276414) | U32(0x10000ba0) & v272) + (-U32(0x7f2ffffe) | U32(0x49089049) & v272)) & (U32(0x1711ad9a) ^ -U32(0x33a65789) - (-U32(0x3363890b) & read317(v290)) - U32(2) * (-U32(0x42ce7d) | U32(0x4674) & ~(U32(0x244852f) + U32(0x2bf06481) * v290)) ^ -U32(0x420fcfb4) - (-U32(0x6a6b12e4) & read317(v290)) - U32(2) * (U32(0x285b4331) | U32(0x1584ac0c) & ~(U32(0x244852f) + U32(0x2bf06481) * v290)))
636
+ v137 = (v137 & U32(0xffffff00)) | u8c(U32(2) * (U32(148) & -U32(76) - (U32(20) | U32(160) & v272) + (U32(2) | U32(73) & v272)) - (U32(215) & -U32(76) - (U32(20) | U32(160) & v272) + (U32(2) | U32(73) & v272)))
637
+ v141 = i8c((-U32(45) * LOBYTE(v316[idx64(LOBYTE(v315[U32(16)]))]) + U32(5)) | (-U32(127) * v290 + U32(47)))
638
+ v130 = (v130 & U32(0xffffff00)) | u8c(-U32(206) - (v140 ^ U32(107) + v137))
639
+ t60 = read316(v316[U32(60)])
640
+ v142 = U32(0x6c2d7728) - t60 - U32(2) * (-U32(0x14abf206) | U32(0x896000) & ~t60) - (U32(0xd96930) | ~t60) ^ -U32(0x76b21513) - t60 - U32(2) * (-U32(0x38d26058) | U32(0x4047) & ~t60) - (U32(0x42204b47) | ~t60)
641
+ v313 = i8c(((U32(41) - ((-U32(45) * LOBYTE(v316[U32(60)]) + U32(5)) & U32(0x30)) + U32(12)) ^ (-((-U32(45) * LOBYTE(v316[U32(60)]) + U32(5)) & U32(0x47)) - U32(18) - U32(2) * (~(-U32(45) * LOBYTE(v316[U32(60)]) + U32(5)) & U32(0x47) | U32(0xa8))) ^ U32(0xad)) & (((((v130 + v141 - U32(51) - (v141 | (v130 - U32(51)))) ^ U32(0x9e)) + U32(96) - ((U32(2) * ((v130 + v141 - U32(51) - (v141 | (v130 - U32(51)))) ^ U32(0x9e))) | U32(0xc2))) | U32(0x77)) ^ U32(0x1d)))
642
+ v244 = i8c(U32(2) * (U32(24) & (U32(181) ^ v142)) - (U32(29) & (U32(181) ^ v142)))
643
+ v254 = i8c(-U32(13) + (U32(60) ^ -U32(4) + (v313 ^ -U32(25) + v244)))
644
+ v143 = read316(v316[U32(62)])
645
+ v144 = -U32(0x38878d8f) + U32(0x3319a0ce) * v143 - U32(0x198cd067) * (U32(0x10200145) ^ v143) - U32(0x198cd067) * (-U32(0x3072a348) | v143) - U32(0x198cd067) * (-U32(0x10200146) | v143)
646
+ v315[U32(10)] = -U32(0x7741d715) + U32(0x11a1971b) * (U32(0x562001d5) | U32(0x7a28ff52) + U32(0x34d14b57) * v144)
647
+ v145 = -U32(0x40dabbc7) - (-U32(0x2accf03) ^ U32(0x244852f) + U32(0x2bf06481) * v317[U32(52)])
648
+ v291 = U32(0x6f72b2da) | read317(v317[U32(52)])
649
+ v146 = (((v291 + U32(0x60c70000)) ^ U32(0xd6ce)) - U32(0x60c70000)) & ((v145 - ((v145 + U32(0x40dabbc6)) & U32(0xa6784bdf)) - U32(0x7591c136) - U32(2) * ((v145 - ((v145 + U32(0x40dabbc6)) & U32(0xa6784bdf)) + U32(0x40dabbc6)) | U32(0x49938305))) ^ U32(0xba4de0db)) ^ (u16c((v145 - ((v145 - U32(0x443a)) & U32(0x4bdf)) + U32(0x3eca) - U32(2) * ((v145 - ((v145 - U32(0x443a)) & U32(0x4bdf)) - U32(0x443a)) | U32(0x8305)))) ^ U32(0xe0db)) & U32(0xd6ce) ^ (((v291 + U32(0x60c70000)) ^ U32(0xd6ce)) - U32(0x60c70000)) & U32(0xf35ae7de) ^ U32(0x61c0dc9)
650
+ v147 = U32(0x206fd1e7) - (U32(0x3a51ffe4) & -U32(0x405064d6) - U32(0x32c84339) * v305 + U32(0x755b14ed) * v315[U32(48)] + U32(2) * (U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(48)] & U32(0x30a9291b) + U32(0x32c84339) * v305))
651
+ v148 = -U32(0x6accede9) - v146 + U32(2) * (U32(0x88ceda0) | v146) - (-U32(0x7351004e) | v146) - (-U32(0x265fff48) ^ -U32(0x22437d43) & v146) + U32(2) * (-U32(0x11110005) + v146 - (U32(0x88ceda0) ^ v146) - (U32(0xcaeffb2) & v146) | -U32(0x265fff48) ^ -U32(0x22437d43) & v146)
652
+ v149 = U32(0x7fffffff) - (U32(0x1b473513) ^ U32(0x19e22dfd) + v147) ^ -U32(0x31219538) - (U32(0x6b4382eb) & -U32(0x405064d6) - U32(0x32c84339) * v305 + U32(0x755b14ed) * v315[U32(48)] + U32(2) * (U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(48)] & U32(0x30a9291b) + U32(0x32c84339) * v305)) - U32(2) * (-U32(0x1c651822) | U32(0x8410021) & (U32(0xfa73bba) + U32(0xaa4eb13) * v315[U32(48)] ^ U32(0x30a9291b) + U32(0x32c84339) * v305))
653
+ v150 = -U32(0x71360000) + (U32(0x2bb5) ^ U32(0x7135ffff) - (-U32(0x7222d33) ^ v149))
654
+ v151 = v150 & U32(0x913fd914) ^ v150 & v148 ^ v148 & U32(0x2bb5) ^ U32(0xedf82796)
655
+ v152 = -U32(2) * (U32(0xc448408) & (U32(0xc5e84a8) ^ v291)) + (U32(0x1e65cf5e) & (-U32(0x73a17b58) ^ v291))
656
+ v153 = v291 & (U32(0x1e65cf5e) ^ (-U32(0x5987b421) | U32(0x7dbb7ad0) - U32(0x2bf06481) * v317[U32(52)]))
657
+ v154 = ~(v153 ^ -U32(0xc448409) - v152)
658
+ v155 = ~v154 & (U32(0x78b3f5e4) ^ U32(0x1a1e0000) + (U32(0x8502) ^ U32(0x168b291b) + U32(0x32c84339) * v305) ^ U32(0x1a1e0000) + (U32(0x8502) ^ -U32(0xa76c446) - U32(0x755b14ed) * v315[U32(48)]))
659
+ v156 = -U32(0x20323f39) + v155 - U32(2) * (-U32(0x20323f38) | v155)
660
+ v157 = U32(0x3725d414) - v154 - U32(2) * (U32(0x3e71de32) | -U32(0x74c0a1c) & ~v154) - (U32(0x78b3f5e4) | ~v154)
661
+ v158 = -U32(0x2e53c51f) - U32(0x464742b3) * (U32(0x61bc1efa) ^ v156 ^ v157)
662
+ v159 = -U32(0x1207d17e) & v151 | ~(-U32(0x3d08061c) + U32(0x23db3c7b) * v158) & (-U32(0x1207d17e) | v151)
663
+ v160 = U32(0x6eba9935) * (U32(0x3e121f2d) ^ v159 + (U32(0x1207d17d) & ~v151))
664
+ v315[U32(8)] = v315[U32(8)] + (U32(0x23736f1) * v160 + U32(0x11a1971b) * ((U32(0x1427623a) * v160) & U32(0x7c243e5a)) + U32(0x2b662b41))
665
+ v317[U32(20)] = v317[U32(20)] - U32(0x4e7988ad) * v316[idx64(LOBYTE(v315[U32(1)]))] + U32(0x12dd7706)
666
+ v151 = (v151 & U32(0xffffff00)) | u8c(-U32(149) + v305 * (U32(880) + v305 * (-U32(92) - U32(35) * v305)))
667
+ v160 = (v160 & U32(0xffffff00)) | u8c(-U32(78) - U32(121) * v151 + U32(90) * (U32(70) & -U32(3) * v151))
668
+ v151 = (v151 & U32(0xffffff00)) | u8c(-U32(71) + U32(91) * v160 - U32(2) * (U32(57) & -U32(37) * v160))
669
+ v160 = (v160 & U32(0xffffff00)) | u8c(U32(211) + v305 * (-U32(528) + v305 * (-U32(124) + U32(53) * v305)))
670
+ v158 = (v158 & U32(0xffffff00)) | u8c(-U32(74) - v151 - (U32(31) | v151) + U32(2) * (U32(9) | v151))
671
+ v156 = (v156 & U32(0xffffff00)) | u8c(U32(37) + (U32(59) ^ -U32(27) * v160))
672
+ v156 = (v156 & U32(0xffffff00)) | u8c(U32(32) - (U32(31) & -U32(128) + (U32(68) ^ -U32(37) + v156)))
673
+ v161 = ((((U32(0xc7ad237) >> ((v158 ^ U32(0xa9)) & U32(31))) + ~(U32(0xffffffff) >> ((v158 ^ U32(0xa9)) & U32(31))) - U32(0x2a430000)) ^ U32(0x8bae)) + U32(0x2a430000)) ^ ((((U32(0xc7ad238) << ((((v156 & U32(0x1f)) + U32(113) - ((U32(2) * v156) & U32(2))) ^ U32(0x71)) & U32(31))) - U32(0x2a430001)) ^ U32(0x8bae)) + U32(0x2a430000)) ^ U32(0xbfbea390)
674
+ v315[U32(32)] = U32(0x80000000) + v315[U32(32)] + U32(0x11a1971b) * (U32(0x3fbea390) ^ v161)
675
+ t = i8c(xform_v318(LOBYTE(v318[U32(41)])))
676
+ v156 = (v156 & U32(0xffffff00)) | u8c(U32(84) ^ U32(64) - t + (U32(31) & t) + (U32(20) ^ t))
677
+ v292 = U32(0x65d6417d) * (~(U32(0xffffffff) >> (v156 & U32(31))) + (U32(0x46ef99f4) >> (v156 & U32(31)))) + U32(0x15ed5520)
678
+ v162 = U32(0x3c81bd23) * (U32(0x46ef99f5) << ((((U32(2) * LOBYTE(v318[U32(41)]) + U32(14)) & U32(0xa)) - (LOBYTE(v318[U32(41)]) - U32(116))) & U32(0x1f))) - U32(0xef67924)
679
+ v163 = -U32(0x2e099853) * ~(-U32(0x1523dd1f) ^ -U32(0x1c228388) - v274)
680
+ v164 = ~(-U32(0x28cbfce5) ^ -U32(0x14606bdb) * v163)
681
+ v165 = U32(0x6d721258) - (U32(0x2d221200) | U32(0x40500058) & v164) + (U32(0x1289e487) | -U32(0x7ffbf6e0) & v164)
682
+ v166 = -U32(0xef753eb) + v287 - U32(2) * (-U32(0xef753eb) | U32(0xe2151e8) & v287) + (U32(0x4f2159fc) | ~v287)
683
+ v167 = ~(v166 & v165 ^ v165 & U32(0xb309f411) ^ v166 & U32(0x6d721258) ^ U32(0x7e4ce04e))
684
+ v168 = U32(0x1f7b0000) + (U32(0x5ea7) ^ U32(0x5b9d4514) - U32(0xbb05a8b) * v162 - U32(0x7780ffd5) * v292 + U32(2) * (-U32(0x1642b3a0) - U32(0x87f002b) * v292 & U32(0x1b2a6e8b) + U32(0xbb05a8b) * v162))
685
+ v169 = v167 & U32(0x5ea7) ^ v168 & U32(0xa0b30fa1) ^ U32(0x9fbdde36)
686
+ v170 = -U32(2) * (-U32(0x1fbdd098) & (v169 ^ v167 & v168)) + (v169 ^ v167 & v168)
687
+ v171 = -U32(0x4460713f) + (-U32(0x41b383d) ^ -U32(0x1fbdd098) + v170)
688
+ v317[U32(4)] = v317[U32(4)] + U32(0x5863db81) * (-U32(0x41b383d) ^ -U32(0x3b9f8ec1) + v171)
689
+ v172 = v318[idx64(LOBYTE(v315[U32(93)]))]
690
+ v318[U32(30)] = -U32(0x1d75351b)
691
+ v172 = (v172 & U32(0xffffff00)) | u8c(-U32(12) + (U32(5) ^ U32(7) + v172))
692
+ v173 = (U32(0x755b14ed) * v260 - U32(0xfa73bbb)) / U32(3)
693
+ v174 = U32(0x29ea41c9) * (-U32(0x2c534379) ^ v173)
694
+ v175 = U32(0x44f00fdb) * ((-U32(0x11c3a879) * v174 + ((U32(0x238750f2) * v174) & U32(0xa759790e)) + U32(0x2c534379)) << (((((-U32(19) * LOBYTE(v315[U32(22)]) + v172 - U32(47)) & U32(0x1f)) + U32(12) - ((U32(2) * (-U32(19) * LOBYTE(v315[U32(22)]) + v172 - U32(47))) & U32(0x18))) ^ U32(0xc)) & U32(31))) - U32(0x17b37bab)
695
+ v174 = (v174 & U32(0xffffff00)) | u8c(U32(31) & (U32(99) ^ U32(99) + U32(2) * (U32(12) & U32(32) - (U32(31) & -U32(47) + v172 + v249)) - (U32(31) & U32(32) - (U32(31) & -U32(47) + v172 + v249))))
696
+ v176 = U32(0x47cc8be3) * ((~v173 >> (v174 & U32(31))) + ~(U32(0xffffffff) >> (v174 & U32(31))))
697
+ v261 = -U32(0x58f4f0c0) + U32(0x69fb7ed3) * v175 - U32(0x37dc5fb5) * v176 + U32(0x4f3848fe) * (U32(0x23e111cb) * v176 | U32(0xccc3470) - U32(0x3eaabad) * v175)
698
+ v317[U32(60)] = v261
699
+ v177 = -U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(122)]))] + U32(0x489b075)
700
+ v318[U32(10)] = -U32(0x1c228388) - (U32(0x3de821fa) ^ v177)
701
+ v270 = v316[idx64(LOBYTE(v315[U32(35)]))]
702
+ v308 = -U32(0x35d1732d) * v270 - U32(0x6448adfb)
703
+ v178 = read317(v317[U32(8)])
704
+ v280 = -U32(0x79114337) + v178 + (-U32(0xc2c6f99) | ~v178)
705
+ t41 = read316(v316[U32(41)])
706
+ v179 = v308 & t41
707
+ v180 = -U32(0x7e081462) + ((U32(0x17eb6bf5) | v178 | v179) & (-U32(0x17eb6bf6) | v178 | v179))
708
+ v293 = -U32(0x7ac24d30) + v280 & U32(0x7e081462) + v180
709
+ v309 = U32(0x20569de9) * (-U32(0x35e8cca5) * (v316[U32(41)] + v270) - U32(0x76f80a59) * (v308 | read316(v316[U32(41)]))) - U32(0x56b2825c)
710
+ v181 = v293 & -U32(0x5620c444) + U32(2) * (-U32(0x29df3bbd) & (U32(0xc2c6f98) | U32(0xe212666) + v309)) - (-U32(0x5620c444) ^ (U32(0xc2c6f98) | -U32(0x71ded99a) + v309))
711
+ v182 = U32(0x60e7ce74) + U32(0x655c29cd) * v181 + U32(0x3547ac66) * (-U32(0x20a47bbb) | v181)
712
+ v317[U32(46)] = v247 + v248 + U32(0x279c247f) * (-U32(0x20a47bbb) ^ U32(0x3224eb05) * v182)
713
+ v183 = v316[idx64(LOBYTE(v315[U32(98)]))]
714
+ v174 = (v174 & U32(0xffffff00)) | u8c(U32(45) - U32(125) * v183 - U32(34) * (U32(217) | -U32(5) * ~(-U32(9) * v183)))
715
+ v314 = -U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(67)]))] - U32(0x6448adfb)
716
+ v266 = i8c(-U32(708) + U32(0xa27) * v174 - U32(46) * (U32(38) & -U32(15) * v174) - U32(46) * (U32(199) & U32(128) * v174 + (U32(38) ^ -U32(15) * v174) + (U32(255) ^ v267 & v314)) + U32(23) * (U32(200) ^ v267 & v314) - U32(46) * (U32(55) & (U32(200) ^ v267 & v314)))
717
+ v184 = (-U32(0x2bf06481) * v317[idx64(LOBYTE(v315[U32(38)]))] + U32(0x7dbb7ad0)) >> U32(1)
718
+ v185 = v184 * v184
719
+ v186 = -U32(0x7e219114) + (-U32(0x24e1697d) ^ v184 * v185)
720
+ v317[U32(17)] = -U32(0x44072d30) - U32(0x5863db81) * (-U32(0x24e1697d) ^ -U32(0x1de6eec) + v186 ^ -U32(0x2448530) - U32(0x2bf06481) * v317[U32(17)])
721
+ v317[U32(44)] = v251 - U32(0x4e7988ad) * v316[U32(62)] + U32(0x12dd7706)
722
+ v187 = U32(63) & U32(35) + U32(67) * v257
723
+ v256 = i8c(U32(67) * v257 + U32(35))
724
+ v26_r = read318(v318[U32(26)])
725
+ v316_t = -U32(0x35d1732d) * v316[v187]
726
+ v318[U32(26)] = ((U32(2) * (v26_r + U32(0x79f1b392) + v316_t)) | U32(0x842fbc0a)) - v316_t - v26_r - U32(0x582c151e)
727
+ v310 = v318[v187]
728
+ v188 = -U32(0x6a95f0fa) ^ -U32(0x1b6bc0fb) - U32(2) * (U32(0x33557da8) | U32(0x313ec15d) & U32(0x1c228387) + v310) + (-U32(0x313ec15e) | -U32(0x63dd7c79) + v310)
729
+ v189 = ~(-U32(0x2629b2ac) ^ v188)
730
+ v190 = (U32(0x4217de05) ^ -U32(0x63dd7c79) + v318[U32(34)]) & (-U32(0x50319800) ^ v189 & (U32(0x313ec15d) | read317(v261)))
731
+ v294 = -U32(0x35d1732d) * v316[idx64(LOBYTE(v315[U32(79)]))] - U32(0x6448adfb)
732
+ v191 = U32(0x746ed03d) - (U32(0x40444014) | U32(0x342a9029) & v294) + (-U32(0x7cfed07e) | U32(0x8900040) & v294)
733
+ v192 = U32(0x2ad1e22c) + v191 - U32(2) * (U32(0x20209011) | v191) - U32(2) * (~(-v191 + (U32(0x21319613) & v191) + (U32(0x20209011) ^ v191)) | -U32(0x2d11867c) & (-U32(0xb912fc3) ^ v191)) + (-U32(0x2d11867c) & (U32(0x746ed03d) ^ v191)) + (U32(0x21319613) | v191)
734
+ v193 = -U32(0x7b04422d) + v192 - (-U32(0x4f2159fd) | ~v294 & -U32(0x2be2e830) + v192)
735
+ v194 = U32(0x45c038eb) - U32(2) * (-U32(0x3a3fc714) | ~v193 & U32(0x1c228387) + v318[U32(34)]) + (~v193 & -U32(0x63dd7c79) + v318[U32(34)]) ^ -U32(0x1b40abbc) - v193 - U32(2) * (U32(0x22a77641) | -U32(0x3fef77fc) & ~v193) - (U32(0x4217de05) | ~v193)
736
+ v195 = U32(0x3fee69fa) - (-U32(0x2fce6801) & U32(0x1c228387) + v318[U32(34)]) + (U32(0x503197ff) & -U32(0x63dd7c79) + v318[U32(34)]) + (v190 ^ U32(0x3fee69fa) + U32(2) * (-U32(0x3fee69fb) & U32(0x1c228387) + v318[U32(34)]) - (-U32(0x2fce6801) & U32(0x1c228387) + v318[U32(34)]))
737
+ v194_xor = U32(0x7142c069) - (-U32(0x1898b153) ^ v194)
738
+ v288 = U32(0x7b009154) ^ -U32(0x7142c06a) + v194_xor & U32(0x40119606) + v195
739
+ v271 = U32(0x3960cfe0) - U32(0x54a952b3) * (U32(0x313ec15d) & -U32(0x63dd7c79) + v310) - U32(0x56ad5a9a) * (-U32(0x16c006) | U32(0x1c228387) + v310)
740
+ v268 = -U32(0x7564ae19) - U32(0x72c009b) * (U32(0x375932ae) ^ -U32(0x6df81923) - (U32(0x2da55683) & read317(v261)) - U32(2) * (-U32(0x1b9d6fa5) | U32(0x2da55683) & ~(U32(0x244852f) + U32(0x2bf06481) * v261)) ^ U32(0x36a00b15) - (-U32(0x1c9b97df) & read317(v261)) - U32(2) * (-U32(0x2cc45d0b) | -U32(0x1c9b97df) & ~(U32(0x244852f) + U32(0x2bf06481) * v261)))
741
+ v196 = -U32(0x2076cbfa) - U32(0x2ff3d99b) * (U32(0x2d267f7e) ^ -U32(0x59bc7fd2) - v294 - U32(2) * (-U32(0x6214c9b) | U32(0x4204c8a) & ~v294) - (-U32(0x539b3335) | ~v294) ^ U32(0x65d728bb) - v294 - U32(2) * (-U32(0x2b0733e5) | U32(0x610a0) & ~v294) - (-U32(0x6f21a35e) | ~v294))
742
+ v197 = -U32(0x34e4d16f) + U32(0x1ce884eb) * (-U32(0xc201069) & U32(0x6849c88d) + U32(0x3444e493) * v196)
743
+ v198 = -U32(0x7bfc2b74) - U32(0x4103fc3d) * v197 + v294 - (-U32(0x4f2159fd) | v294 | -U32(0x7bfc2b73) - U32(0x4103fc3d) * v197) - (U32(0x4f2159fc) | v294) | U32(0x15c85f66) - U32(0x24e85385) * v271 & U32(0x15f7555a) + U32(0x5023e593) * v268
744
+ v199 = U32(0x7fffffff) - (U32(0x4ff6eab) ^ v288) & U32(0x4605175d) - U32(2) * (-U32(0x39fae8a2) | U32(0x39fae8a1) ^ v198) + (-U32(0x4605175f) ^ v198)
745
+ v200 = -U32(0x4c8e4637) - U32(0x11f0428d) * v199 + U32(0x23e0851a) * (U32(0x3d401cd4) | v199)
746
+ v311 = -U32(0x7fffffff) * (U32(0x3d401cd4) ^ U32(0x1845afbb) * v200)
747
+ v318[U32(35)] = U32(0x63dd7c79) + (U32(0x4217de05) ^ -v311 + (-U32(0x3de821fb) ^ U32(0x1c228387) + v274))
748
+ v281 = (read317(v317[U32(43)])) | ~((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1))
749
+ v201 = v281 & (U32(0xe83d820) ^ (read317(v317[U32(43)]) | read317(v317[U32(37)]) & read317(v317[U32(41)])))
750
+ v282 = U32(2) * (U32(0xa008020) & (U32(0x8d7bb75) ^ v281)) - (U32(0xe83d820) & (U32(0x8d7bb75) ^ v281))
751
+ v202 = ((read317(v317[U32(37)]) + read317(v317[U32(41)]) - ((read317(v317[U32(37)])) | (read317(v317[U32(41)])))) ^ U32(0xf309d58f)) & ((((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1)) + U32(0x5228b98a) - ((U32(2) * ((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1))) & U32(0xa4517314))) ^ U32(0x5228b98a))
752
+ v203 = U32(2) * ((((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1)) + U32(0x5228b98a) - ((U32(2) * ((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1))) & U32(0xa4517314))) & U32(0x202800))
753
+ v204 = v201 | -U32(0x4a50a32d) + v282
754
+ v205 = U32(0x4a50a32d) - v282 - v201
755
+ v206 = ((((((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1)) + U32(0x5228b98a) - ((U32(2) * ((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1))) & U32(0xa4517314))) & U32(0xcf62a70)) - v203 - v202 + U32(2) * (v202 | (v203 - ((((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1)) + U32(0x5228b98a) - ((U32(2) * ((U32(0x755b14ed) * v315[U32(27)] - U32(0xfa73bbb)) >> U32(1))) & U32(0xa4517314))) & U32(0xcf62a70)) - U32(0x202801))) - U32(0x4f51d7ff)) ^ U32(0xaff7)) + U32(0x4f720000)
756
+ v207 = -U32(0x3d6a916c) - (U32(0x66b63889) ^ -U32(0x42d33b0d) & v206 ^ U32(2) * v204 + v205 & (U32(0xaff7) ^ v206)) + U32(2) * (U32(0x19494385) & (-U32(0x1949c777) ^ U32(0x3d2cc4f3) & v206 ^ U32(2) * v204 + v205 & (U32(0xaff7) ^ v206)))
757
+ v318[U32(16)] = U32(0x2399ab09) - v207 - v318[U32(16)] - U32(2) * (-U32(0x1c228388) - v318[U32(16)] | -U32(0x14bd) ^ U32(0xd730000) + (U32(0x14bc) ^ U32(0x16ae4de6) + v207))
758
+ left = U32(0x43fdde65) - t60 - U32(2) * (-U32(0x3aaf7005) | -U32(0x152b194) & ~t60) - (U32(0x7ead4e6c) | ~t60)
759
+ right = -U32(0x5d1a730f) - t60 - U32(2) * (-U32(0x1f325112) | U32(0x2125001) & ~t60) - (U32(0x4217de05) | ~t60)
760
+ v208 = left ^ right
761
+ v209 = -U32(0x464e923c) - U32(0x17863ba1) * (-U32(0x5a62deeb) ^ v208)
762
+ v295 = -U32(0x22dab147) + U32(0x5184c5db) * (-U32(0x2c22004a) & -U32(0x68fa3745) - U32(0x2a55979f) * v209)
763
+ v210 = U32(0x4e3bae53) * v295 + U32(0x6ec2bc05)
764
+ part1 = U32(0x1a8c762a) - t60 - U32(2) * (-U32(0x2bdd67b5) | U32(0x24945a0) & ~t60) - (U32(0x4669dde1) | ~t60)
765
+ part2 = U32(0x79c77802) - t60 - U32(2) * (U32(0xeb8875c) | -U32(0x1ef98f60) & ~t60) - (-U32(0x14f10f58) | ~t60)
766
+ xored = (part1 ^ part2) ^ U32(0x5a72ad68)
767
+ inner_33 = ~(-(v210 & (U32(0xe8b27f) ^ xored)))
768
+ v315[U32(33)] = -U32(0x6bc6d4c6) - U32(0x3bb21bc7) * (-U32(0x3bc7a037) * v295 - U32(0x3a939df3) * inner_33)
769
+ v318[U32(58)] = U32(0x121e62b9) + U32(0x755b14ed) * v315[U32(118)] + U32(2) * (-U32(0x3de821fb) | U32(0xfa73bbb) + U32(0xaa4eb13) * v315[U32(118)] + (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(58)])) - (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(58)])
770
+ v317[U32(21)] = v317[U32(21)] - U32(0x5863db81) * (-U32(0x3de821fb) ^ U32(0x1c228387) + v318[U32(60)])
771
+ v317[U32(10)] = v252 - U32(0x44072d30) - v261
772
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(60) ^ U32(13) + v254)
773
+ v209 = (v209 & U32(0xffffff00)) | u8c(-U32(4096) + U32(25) * (U32(160) ^ v205))
774
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(42) + U32(99) * v209 - U32(86) * (U32(36) & U32(62) + (U32(32) ^ U32(41) * v209)) + U32(170) * (U32(32) & U32(41) * v209))
775
+ v295 = (v295 & U32(0xffffff00)) | u8c(U32(11008) + U32(63) * (U32(254) ^ U32(3) * v205))
776
+ v210 = (v210 & U32(0xffffff00)) | u8c(-U32(2338) - U32(4959) * v305 + U32(82) * (U32(110) & -U32(28) - U32(57) * v305))
777
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(1081) + U32(97) * v210 + U32(18) * (U32(110) & -U32(25) * v210))
778
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(127) - (U32(123) ^ U32(34) + U32(57) * v205))
779
+ v305 = (v305 & U32(0xffffff00)) | u8c(U32(5953) - U32(63) * (U32(94) ^ v210))
780
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(2048) - U32(9) * (U32(216) ^ U32(51) - U32(47) * v265))
781
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(50) + U32(75) * v205 - U32(186) * (U32(88) & -U32(57) * v205))
782
+ v210 = (v210 & U32(0xffffff00)) | u8c(~(U32(34) ^ -U32(61) + U32(11) * v205))
783
+ v272 = (v272 & U32(0xffffff00)) | u8c(U32(321) - U32(63) * (U32(7) ^ v210))
784
+ v274 = (v274 & U32(0xffffff00)) | u8c(U32(5313) - U32(63) * (U32(86) ^ U32(127) - (U32(115) ^ U32(372417) + U32(203775) * v259)))
785
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(2014) + U32(183) * v258 - U32(110) * (U32(18) | v258))
786
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(103) + U32(11) * v205 - U32(70) * (U32(18) & -U32(7) * v205) - U32(70) * (U32(29) & -U32(66) + (U32(18) ^ -U32(7) * v205)))
787
+ v268 = (v268 & U32(0xffffff00)) | u8c(U32(2304) + U32(63) * (U32(38) ^ -U32(31) - U32(117) * v205 - U32(2) * (U32(97) & U32(11) * v205)))
788
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(9221) - U32(123) * v250)
789
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(63) + U32(77) * v205 + U32(2) * (U32(126) & -U32(62) + U32(51) * v205))
790
+ v264 = (v264 & U32(0xffffff00)) | u8c(U32(5697) - U32(63) * (U32(91) ^ v210))
791
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(19) * (U32(37) * (-U32(19) * LOBYTE(v315[U32(92)]) - U32(26)) - U32(69) + U32(118)) - U32(55))
792
+ v210 = (v210 & U32(0xffffff00)) | u8c(-U32(129) - (U32(7) ^ -U32(10) - U32(63) * v205))
793
+ v271 = (v271 & U32(0xffffff00)) | u8c(U32(2241) - U32(63) * (U32(34) ^ v210))
794
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(51) * (-U32(5) * ((U32(2) * LOBYTE(v318[U32(37)]) + U32(14)) & U32(0xa)) - v255 + U32(5) * (LOBYTE(v318[U32(37)]) + ((U32(2) * (((U32(2) * LOBYTE(v318[U32(37)]) + U32(14)) & U32(0xa)) - LOBYTE(v318[U32(37)])) - U32(25)) & (-U32(102) * v255 + U32(58)))) - U32(102)) - U32(99))
795
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(83) ^ U32(58) + (U32(25) ^ U32(128) + (U32(25) ^ v205)))
796
+ a1[U32(0)] = int(u8c(-U32(0x3d00) + U32(63) * (U32(137) ^ v210))) & 0xFF
797
+ a1[U32(1)] = int(u8c(-U32(13))) & 0xFF
798
+ a1[U32(2)] = int(u8c(-U32(13))) & 0xFF
799
+ v209 = (v209 & U32(0xffffff00)) | u8c(U32(128) * v295 + (U32(12) ^ U32(63) * v295))
800
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(66) - (U32(34) ^ U32(255) - (U32(214) ^ v209)))
801
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(175) ^ -U32(163) + (U32(34) ^ U32(61) + v205))
802
+ a1[U32(3)] = int(u8c(-U32(0x2f00) + U32(63) * (U32(117) ^ v210))) & 0xFF
803
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(304) + U32(825) * v253)
804
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(127) - (U32(122) ^ -U32(48) + U32(37) * v205))
805
+ a1[U32(4)] = int(u8c(U32(0x17c1) - U32(63) * (U32(95) ^ v210))) & 0xFF
806
+ a1[U32(5)] = int(u8c(-U32(13))) & 0xFF
807
+ v209 = (v209 & U32(0xffffff00)) | u8c(U32(128) * v305 + (U32(51) ^ U32(63) * v305))
808
+ v209 = (v209 & U32(0xffffff00)) | u8c(U32(144) - (U32(1) ^ U32(255) - (U32(233) ^ v209)))
809
+ v209 = (v209 & U32(0xffffff00)) | u8c(U32(218) ^ -U32(107) + (U32(1) ^ -U32(17) + v209))
810
+ a1[U32(6)] = int(u8c(U32(0x2d00) + U32(63) * (U32(181) ^ -U32(128) + (U32(53) ^ v209)))) & 0xFF
811
+ a1[U32(7)] = int(u8c(-U32(13))) & 0xFF
812
+ a1[U32(8)] = int(u8c(-U32(256) + U32(63) * (U32(37) ^ -U32(0x10db) + U32(0x19ff) * v256 - U32(0x14bf) * v272 - U32(0x11fe) * (U32(218) & -U32(65) * v272)))) & 0xFF
813
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(55) + U32(65) * v274 + U32(2) * (U32(73) | U32(63) * v274))
814
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(39) + (U32(11) ^ v205))
815
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(1917) - U32(127) * (U32(24) ^ -U32(39) + v205))
816
+ v210 = (v210 & U32(0xffffff00)) | u8c(-U32(115) - U32(127) * v205 + U32(2) * (U32(89) & U32(25) - v205))
817
+ a1[U32(9)] = int(u8c(U32(0x1e41) - U32(63) * (U32(124) ^ v210))) & 0xFF
818
+ a1[U32(10)] = int(u8c(-U32(22))) & 0xFF
819
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(10) + U32(65) * v268 + U32(2) * (U32(118) | U32(63) * v268))
820
+ v210 = (v210 & U32(0xffffff00)) | u8c(-U32(21) + (U32(96) ^ v205))
821
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(3813) + U32(69) * (U32(76) ^ U32(21) + v210))
822
+ v210 = (v210 & U32(0xffffff00)) | u8c(-U32(7) - U32(115) * v205 + U32(2) * (U32(79) & U32(55) - U32(13) * v205))
823
+ a1[U32(11)] = int(u8c(U32(0x19c1) - U32(63) * (U32(106) ^ v210))) & 0xFF
824
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(95) - U32(65) * v264 - U32(2) * (U32(33) & U32(63) * v264))
825
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(1540) + U32(26) * (U32(104) ^ U32(236) & v205) - U32(13) * (U32(123) ^ v205))
826
+ v205 = (v205 & U32(0xffffff00)) | u8c(U32(967299) + U32(109) * v210 - U32(238) * (U32(108) & U32(59) * v210) - U32(3465) * (U32(125) ^ U32(54) + v277))
827
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(128) * v205 + (U32(67) ^ -U32(57) * v205))
828
+ a1[U32(12)] = int(u8c(U32(0x1941) - U32(63) * (U32(102) ^ v210))) & 0xFF
829
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(948891) - U32(77202961) * v266 - U32(14) * (U32(17) & U32(7842) + U32(638041) * v266 + U32(14338) * (U32(71) & U32(39) * v266)) - U32(1734898) * (U32(71) & U32(39) * v266))
830
+ v210 = (v210 & U32(0xffffff00)) | u8c(U32(35) + (U32(17) ^ U32(55) * v205))
831
+ v205 = (v205 & U32(0xffffff00)) | u8c(-U32(6656) + U32(55) * (U32(186) ^ -U32(64) + v210))
832
+ a1[U32(13)] = int(u8c(-U32(0xdf2) + U32(0x1dc7) * v205 + U32(126) * (U32(87) | -U32(128) * v205 + (U32(55) ^ U32(7) * v205)) + U32(126) * (U32(55) & U32(7) * v205))) & 0xFF
833
+ a1[U32(14)] = int(u8c(-U32(22))) & 0xFF
834
+ a1[U32(15)] = int(u8c(-U32(0x1d00) + U32(63) * (U32(37) ^ (-U32(0x3644) + U32(833) * v271 - U32(0x34fe) * (U32(218) & -U32(65) * v271))))) & 0xFF
835
+ mix_with_v318(a1, v318)
836
+ mix_with_v317(a1, v317)
837
+ fold_v315_into_output(a1, v315)
838
+ return bytes(a1)