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.
- ipodsync/__init__.py +27 -0
- ipodsync/__main__.py +5 -0
- ipodsync/_art_templates.py +29 -0
- ipodsync/_hashab_gen.py +1588 -0
- ipodsync/_hashab_gen2.py +838 -0
- ipodsync/_hashab_gen_rt.py +134 -0
- ipodsync/_hashab_py.py +285 -0
- ipodsync/_hashab_tables.bin +0 -0
- ipodsync/_hashab_tables.py +31 -0
- ipodsync/_lib_templates.py +16 -0
- ipodsync/artwork_writer.py +252 -0
- ipodsync/cbk.py +44 -0
- ipodsync/cli.py +314 -0
- ipodsync/export.py +91 -0
- ipodsync/hashab.py +44 -0
- ipodsync/importer.py +137 -0
- ipodsync/library.py +360 -0
- ipodsync/models.py +31 -0
- ipodsync/sysinfo.py +50 -0
- ipodsync/transport.py +165 -0
- ipodsync-0.1.0.dist-info/METADATA +114 -0
- ipodsync-0.1.0.dist-info/RECORD +25 -0
- ipodsync-0.1.0.dist-info/WHEEL +4 -0
- ipodsync-0.1.0.dist-info/entry_points.txt +2 -0
- ipodsync-0.1.0.dist-info/licenses/LICENSE +21 -0
ipodsync/_hashab_gen2.py
ADDED
|
@@ -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)
|