1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
|
function __function_selector__() public {
Begin block 0x0
prev=[], succ=[0xc, 0x10]
=================================
0x0: v0(0x80) = CONST
0x2: v2(0x40) = CONST
0x4: MSTORE v2(0x40), v0(0x80)
0x5: v5 = CALLVALUE
0x7: v7 = ISZERO v5
0x8: v8(0x10) = CONST
0xb: JUMPI v8(0x10), v7
Begin block 0xc
prev=[0x0], succ=[]
=================================
0xc: vc(0x0) = CONST
0xf: REVERT vc(0x0), vc(0x0)
Begin block 0x10
prev=[0x0], succ=[0x1a, 0x143d]
=================================
0x12: v12(0x4) = CONST
0x14: v14 = CALLDATASIZE
0x15: v15 = LT v14, v12(0x4)
0x1437: v1437(0x143d) = CONST
0x1438: JUMPI v1437(0x143d), v15
Begin block 0x1a
prev=[0x10], succ=[0x1440, 0x2b]
=================================
0x1a: v1a(0x0) = CONST
0x1c: v1c = CALLDATALOAD v1a(0x0)
0x1d: v1d(0xe0) = CONST
0x1f: v1f = SHR v1d(0xe0), v1c
0x21: v21(0x5cc4d812) = CONST
0x26: v26 = EQ v21(0x5cc4d812), v1f
0x1439: v1439(0x1440) = CONST
0x143a: JUMPI v1439(0x1440), v26
Begin block 0x1440
prev=[0x1a], succ=[]
=================================
0x1441: v1441(0x3b) = CONST
0x1442: CALLPRIVATE v1441(0x3b)
Begin block 0x2b
prev=[0x1a], succ=[0x143d, 0x1443]
=================================
0x2c: v2c(0x64d98f6e) = CONST
0x31: v31 = EQ v2c(0x64d98f6e), v1f
0x143b: v143b(0x1443) = CONST
0x143c: JUMPI v143b(0x1443), v31
Begin block 0x143d
prev=[0x10, 0x2b], succ=[]
=================================
0x143e: v143e(0x36) = CONST
0x143f: CALLPRIVATE v143e(0x36)
Begin block 0x1443
prev=[0x2b], succ=[]
=================================
0x1444: v1444(0x50) = CONST
0x1445: CALLPRIVATE v1444(0x50)
}
function fallback()() public {
Begin block 0x36
prev=[], succ=[]
=================================
0x37: v37(0x0) = CONST
0x3a: REVERT v37(0x0), v37(0x0)
}
function 0x5cc4d812() public {
Begin block 0x3b
prev=[], succ=[0x23a]
=================================
0x3c: v3c(0x4e) = CONST
0x3f: v3f(0x49) = CONST
0x42: v42 = CALLDATASIZE
0x43: v43(0x4) = CONST
0x45: v45(0x23a) = CONST
0x48: JUMP v45(0x23a)
Begin block 0x23a
prev=[0x3b], succ=[0x248, 0x24c]
=================================
0x23b: v23b(0x0) = CONST
0x23d: v23d(0x20) = CONST
0x241: v241 = SUB v42, v43(0x4)
0x242: v242 = SLT v241, v23d(0x20)
0x243: v243 = ISZERO v242
0x244: v244(0x24c) = CONST
0x247: JUMPI v244(0x24c), v243
Begin block 0x248
prev=[0x23a], succ=[]
=================================
0x248: v248(0x0) = CONST
0x24b: REVERT v248(0x0), v248(0x0)
Begin block 0x24c
prev=[0x23a], succ=[0x260, 0x264]
=================================
0x24e: v24e = CALLDATALOAD v43(0x4)
0x24f: v24f(0xffffffffffffffff) = CONST
0x25a: v25a = GT v24e, v24f(0xffffffffffffffff)
0x25b: v25b = ISZERO v25a
0x25c: v25c(0x264) = CONST
0x25f: JUMPI v25c(0x264), v25b
Begin block 0x260
prev=[0x24c], succ=[]
=================================
0x260: v260(0x0) = CONST
0x263: REVERT v260(0x0), v260(0x0)
Begin block 0x264
prev=[0x24c], succ=[0x274, 0x278]
=================================
0x267: v267 = ADD v43(0x4), v24e
0x26b: v26b(0x1f) = CONST
0x26e: v26e = ADD v267, v26b(0x1f)
0x26f: v26f = SLT v26e, v42
0x270: v270(0x278) = CONST
0x273: JUMPI v270(0x278), v26f
Begin block 0x274
prev=[0x264], succ=[]
=================================
0x274: v274(0x0) = CONST
0x277: REVERT v274(0x0), v274(0x0)
Begin block 0x278
prev=[0x264], succ=[0x283, 0x28a]
=================================
0x27a: v27a = CALLDATALOAD v267
0x27d: v27d = GT v27a, v24f(0xffffffffffffffff)
0x27e: v27e = ISZERO v27d
0x27f: v27f(0x28a) = CONST
0x282: JUMPI v27f(0x28a), v27e
Begin block 0x283
prev=[0x278], succ=[0x9a4]
=================================
0x283: v283(0x28a) = CONST
0x286: v286(0x9a4) = CONST
0x289: JUMP v286(0x9a4)
Begin block 0x9a4
prev=[0x283], succ=[]
=================================
0x9a5: v9a5(0x4e487b71) = CONST
0x9aa: v9aa(0xe0) = CONST
0x9ac: v9ac(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v9aa(0xe0), v9a5(0x4e487b71)
0x9ad: v9ad(0x0) = CONST
0x9af: MSTORE v9ad(0x0), v9ac(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x9b0: v9b0(0x41) = CONST
0x9b2: v9b2(0x4) = CONST
0x9b4: MSTORE v9b2(0x4), v9b0(0x41)
0x9b5: v9b5(0x24) = CONST
0x9b7: v9b7(0x0) = CONST
0x9b9: REVERT v9b7(0x0), v9b5(0x24)
Begin block 0x28a
prev=[0x278], succ=[0x2ab, 0x2b2]
=================================
0x28b: v28b(0x40) = CONST
0x28d: v28d = MLOAD v28b(0x40)
0x28e: v28e(0x1f) = CONST
0x291: v291 = ADD v27a, v28e(0x1f)
0x292: v292(0x1f) = CONST
0x294: v294(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) = NOT v292(0x1f)
0x297: v297 = AND v294(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0), v291
0x298: v298(0x3f) = CONST
0x29a: v29a = ADD v298(0x3f), v297
0x29b: v29b = AND v29a, v294(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)
0x29d: v29d = ADD v28d, v29b
0x2a1: v2a1 = GT v29d, v24f(0xffffffffffffffff)
0x2a4: v2a4 = LT v29d, v28d
0x2a5: v2a5 = OR v2a4, v2a1
0x2a6: v2a6 = ISZERO v2a5
0x2a7: v2a7(0x2b2) = CONST
0x2aa: JUMPI v2a7(0x2b2), v2a6
Begin block 0x2ab
prev=[0x28a], succ=[0x9d9]
=================================
0x2ab: v2ab(0x2b2) = CONST
0x2ae: v2ae(0x9d9) = CONST
0x2b1: JUMP v2ae(0x9d9)
Begin block 0x9d9
prev=[0x2ab], succ=[]
=================================
0x9da: v9da(0x4e487b71) = CONST
0x9df: v9df(0xe0) = CONST
0x9e1: v9e1(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v9df(0xe0), v9da(0x4e487b71)
0x9e2: v9e2(0x0) = CONST
0x9e4: MSTORE v9e2(0x0), v9e1(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x9e5: v9e5(0x41) = CONST
0x9e7: v9e7(0x4) = CONST
0x9e9: MSTORE v9e7(0x4), v9e5(0x41)
0x9ea: v9ea(0x24) = CONST
0x9ec: v9ec(0x0) = CONST
0x9ee: REVERT v9ec(0x0), v9ea(0x24)
Begin block 0x2b2
prev=[0x28a], succ=[0x2c7, 0x2cb]
=================================
0x2b4: v2b4(0x40) = CONST
0x2b6: MSTORE v2b4(0x40), v29d
0x2b9: MSTORE v28d, v27a
0x2bb: v2bb(0x20) = CONST
0x2bf: v2bf = ADD v267, v27a
0x2c0: v2c0 = ADD v2bf, v2bb(0x20)
0x2c1: v2c1 = GT v2c0, v42
0x2c2: v2c2 = ISZERO v2c1
0x2c3: v2c3(0x2cb) = CONST
0x2c6: JUMPI v2c3(0x2cb), v2c2
Begin block 0x2c7
prev=[0x2b2], succ=[]
=================================
0x2c7: v2c7(0x0) = CONST
0x2ca: REVERT v2c7(0x0), v2c7(0x0)
Begin block 0x2cb
prev=[0x2b2], succ=[0x49]
=================================
0x2cd: v2cd(0x20) = CONST
0x2d0: v2d0 = ADD v267, v2cd(0x20)
0x2d1: v2d1(0x20) = CONST
0x2d4: v2d4 = ADD v28d, v2d1(0x20)
0x2d5: CALLDATACOPY v2d4, v2d0, v27a
0x2d6: v2d6(0x0) = CONST
0x2da: v2da = ADD v28d, v27a
0x2db: v2db(0x20) = CONST
0x2dd: v2dd = ADD v2db(0x20), v2da
0x2e1: MSTORE v2dd, v2d6(0x0)
0x2ea: JUMP v3f(0x49)
Begin block 0x49
prev=[0x2cb], succ=[0x6a]
=================================
0x4a: v4a(0x6a) = CONST
0x4d: JUMP v4a(0x6a)
Begin block 0x6a
prev=[0x49], succ=[0x112B0x6a]
=================================
0x6b: v6b(0x73) = CONST
0x6f: v6f(0x112) = CONST
0x72: JUMP v6f(0x112)
Begin block 0x112B0x6a
prev=[0x6a], succ=[0x150B0x6a, 0x157B0x6a]
=================================
0x113S0x6a: v113V6a(0x40) = CONST
0x116S0x6a: v116V6a = MLOAD v113V6a(0x40)
0x119S0x6a: v119V6a = ADD v113V6a(0x40), v116V6a
0x11cS0x6a: MSTORE v113V6a(0x40), v119V6a
0x11dS0x6a: v11dV6a(0xc) = CONST
0x120S0x6a: MSTORE v116V6a, v11dV6a(0xc)
0x121S0x6a: v121V6a(0x35b2bcaf9b9b9b1c19981ab3) = CONST
0x12eS0x6a: v12eV6a(0xa1) = CONST
0x130S0x6a: v130V6a(0x6b65795f37373638333035660000000000000000000000000000000000000000) = SHL v12eV6a(0xa1), v121V6a(0x35b2bcaf9b9b9b1c19981ab3)
0x131S0x6a: v131V6a(0x20) = CONST
0x134S0x6a: v134V6a = ADD v116V6a, v131V6a(0x20)
0x135S0x6a: MSTORE v134V6a, v130V6a(0x6b65795f37373638333035660000000000000000000000000000000000000000)
0x137S0x6a: v137V6a = MLOAD v28d
0x138S0x6a: v138V6a(0x60) = CONST
0x13dS0x6a: v13dV6a(0x0) = CONST
0x140S0x6a: v140V6a(0xffffffffffffffff) = CONST
0x14aS0x6a: v14aV6a = GT v137V6a, v140V6a(0xffffffffffffffff)
0x14bS0x6a: v14bV6a = ISZERO v14aV6a
0x14cS0x6a: v14cV6a(0x157) = CONST
0x14fS0x6a: JUMPI v14cV6a(0x157), v14bV6a
Begin block 0x150B0x6a
prev=[0x112B0x6a], succ=[0x8d0B0x6a]
=================================
0x150S0x6a: v150V6a(0x157) = CONST
0x153S0x6a: v153V6a(0x8d0) = CONST
0x156S0x6a: JUMP v153V6a(0x8d0)
Begin block 0x8d0B0x6a
prev=[0x150B0x6a], succ=[]
=================================
0x8d1S0x6a: v8d1V6a(0x4e487b71) = CONST
0x8d6S0x6a: v8d6V6a(0xe0) = CONST
0x8d8S0x6a: v8d8V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v8d6V6a(0xe0), v8d1V6a(0x4e487b71)
0x8d9S0x6a: v8d9V6a(0x0) = CONST
0x8dbS0x6a: MSTORE v8d9V6a(0x0), v8d8V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x8dcS0x6a: v8dcV6a(0x41) = CONST
0x8deS0x6a: v8deV6a(0x4) = CONST
0x8e0S0x6a: MSTORE v8deV6a(0x4), v8dcV6a(0x41)
0x8e1S0x6a: v8e1V6a(0x24) = CONST
0x8e3S0x6a: v8e3V6a(0x0) = CONST
0x8e5S0x6a: REVERT v8e3V6a(0x0), v8e1V6a(0x24)
Begin block 0x157B0x6a
prev=[0x112B0x6a], succ=[0x175B0x6a, 0x181B0x6a]
=================================
0x158S0x6a: v158V6a(0x40) = CONST
0x15aS0x6a: v15aV6a = MLOAD v158V6a(0x40)
0x15eS0x6a: MSTORE v15aV6a, v137V6a
0x160S0x6a: v160V6a(0x1f) = CONST
0x162S0x6a: v162V6a = ADD v160V6a(0x1f), v137V6a
0x163S0x6a: v163V6a(0x1f) = CONST
0x165S0x6a: v165V6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) = NOT v163V6a(0x1f)
0x166S0x6a: v166V6a = AND v165V6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0), v162V6a
0x167S0x6a: v167V6a(0x20) = CONST
0x169S0x6a: v169V6a = ADD v167V6a(0x20), v166V6a
0x16bS0x6a: v16bV6a = ADD v15aV6a, v169V6a
0x16cS0x6a: v16cV6a(0x40) = CONST
0x16eS0x6a: MSTORE v16cV6a(0x40), v16bV6a
0x170S0x6a: v170V6a = ISZERO v137V6a
0x171S0x6a: v171V6a(0x181) = CONST
0x174S0x6a: JUMPI v171V6a(0x181), v170V6a
Begin block 0x175B0x6a
prev=[0x157B0x6a], succ=[0x181B0x6a]
=================================
0x175S0x6a: v175V6a(0x20) = CONST
0x178S0x6a: v178V6a = ADD v15aV6a, v175V6a(0x20)
0x17bS0x6a: v17bV6a = CALLDATASIZE
0x17dS0x6a: CALLDATACOPY v178V6a, v17bV6a, v137V6a
0x17eS0x6a: v17eV6a = ADD v137V6a, v178V6a
Begin block 0x181B0x6a
prev=[0x175B0x6a, 0x157B0x6a], succ=[0x187B0x6a]
=================================
0x185S0x6a: v185V6a(0x0) = CONST
Begin block 0x187B0x6a
prev=[0x181B0x6a, 0x213B0x6a], succ=[0x191B0x6a, 0x21bB0x6a]
=================================
0x187_0x0S0x6a: v187_0V6a = PHI v185V6a(0x0), v420V6a
0x189S0x6a: v189V6a = MLOAD v28d
0x18bS0x6a: v18bV6a = LT v187_0V6a, v189V6a
0x18cS0x6a: v18cV6a = ISZERO v18bV6a
0x18dS0x6a: v18dV6a(0x21b) = CONST
0x190S0x6a: JUMPI v18dV6a(0x21b), v18cV6a
Begin block 0x191B0x6a
prev=[0x187B0x6a], succ=[0x3c2B0x6a]
=================================
0x193S0x6a: v193V6a(0xc) = MLOAD v116V6a
0x195S0x6a: v195V6a(0x19e) = CONST
0x19aS0x6a: v19aV6a(0x3c2) = CONST
0x19dS0x6a: JUMP v19aV6a(0x3c2)
Begin block 0x3c2B0x6a
prev=[0x191B0x6a], succ=[0x3caB0x6a, 0x3dfB0x6a]
=================================
0x3c3S0x6a: v3c3V6a(0x0) = CONST
0x3c6S0x6a: v3c6V6a(0x3df) = CONST
0x3c9S0x6a: JUMPI v3c6V6a(0x3df), v193V6a(0xc)
Begin block 0x3caB0x6a
prev=[0x3c2B0x6a], succ=[]
=================================
0x3caS0x6a: v3caV6a(0x4e487b71) = CONST
0x3cfS0x6a: v3cfV6a(0xe0) = CONST
0x3d1S0x6a: v3d1V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v3cfV6a(0xe0), v3caV6a(0x4e487b71)
0x3d2S0x6a: v3d2V6a(0x0) = CONST
0x3d4S0x6a: MSTORE v3d2V6a(0x0), v3d1V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x3d5S0x6a: v3d5V6a(0x12) = CONST
0x3d7S0x6a: v3d7V6a(0x4) = CONST
0x3d9S0x6a: MSTORE v3d7V6a(0x4), v3d5V6a(0x12)
0x3daS0x6a: v3daV6a(0x24) = CONST
0x3dcS0x6a: v3dcV6a(0x0) = CONST
0x3deS0x6a: REVERT v3dcV6a(0x0), v3daV6a(0x24)
Begin block 0x3dfB0x6a
prev=[0x3c2B0x6a], succ=[0x19eB0x6a]
=================================
0x3df_0x1S0x6a: v3df_1V6a = PHI v185V6a(0x0), v420V6a
0x3e1S0x6a: v3e1V6a = MOD v3df_1V6a, v193V6a(0xc)
0x3e3S0x6a: JUMP v195V6a(0x19e)
Begin block 0x19eB0x6a
prev=[0x3dfB0x6a], succ=[0x1a7B0x6a, 0x1aeB0x6a]
=================================
0x1a0S0x6a: v1a0V6a(0xc) = MLOAD v116V6a
0x1a2S0x6a: v1a2V6a = LT v3e1V6a, v1a0V6a(0xc)
0x1a3S0x6a: v1a3V6a(0x1ae) = CONST
0x1a6S0x6a: JUMPI v1a3V6a(0x1ae), v1a2V6a
Begin block 0x1a7B0x6a
prev=[0x19eB0x6a], succ=[0x905B0x6a]
=================================
0x1a7S0x6a: v1a7V6a(0x1ae) = CONST
0x1aaS0x6a: v1aaV6a(0x905) = CONST
0x1adS0x6a: JUMP v1aaV6a(0x905)
Begin block 0x905B0x6a
prev=[0x1a7B0x6a], succ=[]
=================================
0x906S0x6a: v906V6a(0x4e487b71) = CONST
0x90bS0x6a: v90bV6a(0xe0) = CONST
0x90dS0x6a: v90dV6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v90bV6a(0xe0), v906V6a(0x4e487b71)
0x90eS0x6a: v90eV6a(0x0) = CONST
0x910S0x6a: MSTORE v90eV6a(0x0), v90dV6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x911S0x6a: v911V6a(0x32) = CONST
0x913S0x6a: v913V6a(0x4) = CONST
0x915S0x6a: MSTORE v913V6a(0x4), v911V6a(0x32)
0x916S0x6a: v916V6a(0x24) = CONST
0x918S0x6a: v918V6a(0x0) = CONST
0x91aS0x6a: REVERT v918V6a(0x0), v916V6a(0x24)
Begin block 0x1aeB0x6a
prev=[0x19eB0x6a], succ=[0x1c7B0x6a, 0x1ceB0x6a]
=================================
0x1ae_0x2S0x6a: v1ae_2V6a = PHI v185V6a(0x0), v420V6a
0x1afS0x6a: v1afV6a(0x20) = CONST
0x1b1S0x6a: v1b1V6a = ADD v1afV6a(0x20), v3e1V6a
0x1b2S0x6a: v1b2V6a = ADD v1b1V6a, v116V6a
0x1b3S0x6a: v1b3V6a = MLOAD v1b2V6a
0x1b4S0x6a: v1b4V6a(0xf8) = CONST
0x1b6S0x6a: v1b6V6a = SHR v1b4V6a(0xf8), v1b3V6a
0x1b7S0x6a: v1b7V6a(0xf8) = CONST
0x1b9S0x6a: v1b9V6a = SHL v1b7V6a(0xf8), v1b6V6a
0x1baS0x6a: v1baV6a(0xf8) = CONST
0x1bcS0x6a: v1bcV6a = SHR v1baV6a(0xf8), v1b9V6a
0x1c0S0x6a: v1c0V6a = MLOAD v28d
0x1c2S0x6a: v1c2V6a = LT v1ae_2V6a, v1c0V6a
0x1c3S0x6a: v1c3V6a(0x1ce) = CONST
0x1c6S0x6a: JUMPI v1c3V6a(0x1ce), v1c2V6a
Begin block 0x1c7B0x6a
prev=[0x1aeB0x6a], succ=[0x93aB0x6a]
=================================
0x1c7S0x6a: v1c7V6a(0x1ce) = CONST
0x1caS0x6a: v1caV6a(0x93a) = CONST
0x1cdS0x6a: JUMP v1caV6a(0x93a)
Begin block 0x93aB0x6a
prev=[0x1c7B0x6a], succ=[]
=================================
0x93bS0x6a: v93bV6a(0x4e487b71) = CONST
0x940S0x6a: v940V6a(0xe0) = CONST
0x942S0x6a: v942V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v940V6a(0xe0), v93bV6a(0x4e487b71)
0x943S0x6a: v943V6a(0x0) = CONST
0x945S0x6a: MSTORE v943V6a(0x0), v942V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x946S0x6a: v946V6a(0x32) = CONST
0x948S0x6a: v948V6a(0x4) = CONST
0x94aS0x6a: MSTORE v948V6a(0x4), v946V6a(0x32)
0x94bS0x6a: v94bV6a(0x24) = CONST
0x94dS0x6a: v94dV6a(0x0) = CONST
0x94fS0x6a: REVERT v94dV6a(0x0), v94bV6a(0x24)
Begin block 0x1ceB0x6a
prev=[0x1aeB0x6a], succ=[0x1ebB0x6a, 0x1f2B0x6a]
=================================
0x1ce_0x0S0x6a: v1ce_0V6a = PHI v185V6a(0x0), v420V6a
0x1ce_0x3S0x6a: v1ce_3V6a = PHI v185V6a(0x0), v420V6a
0x1cfS0x6a: v1cfV6a(0x20) = CONST
0x1d1S0x6a: v1d1V6a = ADD v1cfV6a(0x20), v1ce_0V6a
0x1d2S0x6a: v1d2V6a = ADD v1d1V6a, v28d
0x1d3S0x6a: v1d3V6a = MLOAD v1d2V6a
0x1d4S0x6a: v1d4V6a(0xf8) = CONST
0x1d6S0x6a: v1d6V6a = SHR v1d4V6a(0xf8), v1d3V6a
0x1d7S0x6a: v1d7V6a(0xf8) = CONST
0x1d9S0x6a: v1d9V6a = SHL v1d7V6a(0xf8), v1d6V6a
0x1daS0x6a: v1daV6a(0xf8) = CONST
0x1dcS0x6a: v1dcV6a = SHR v1daV6a(0xf8), v1d9V6a
0x1ddS0x6a: v1ddV6a = XOR v1dcV6a, v1bcV6a
0x1deS0x6a: v1deV6a(0xf8) = CONST
0x1e0S0x6a: v1e0V6a = SHL v1deV6a(0xf8), v1ddV6a
0x1e4S0x6a: v1e4V6a = MLOAD v15aV6a
0x1e6S0x6a: v1e6V6a = LT v1ce_3V6a, v1e4V6a
0x1e7S0x6a: v1e7V6a(0x1f2) = CONST
0x1eaS0x6a: JUMPI v1e7V6a(0x1f2), v1e6V6a
Begin block 0x1ebB0x6a
prev=[0x1ceB0x6a], succ=[0x96fB0x6a]
=================================
0x1ebS0x6a: v1ebV6a(0x1f2) = CONST
0x1eeS0x6a: v1eeV6a(0x96f) = CONST
0x1f1S0x6a: JUMP v1eeV6a(0x96f)
Begin block 0x96fB0x6a
prev=[0x1ebB0x6a], succ=[]
=================================
0x970S0x6a: v970V6a(0x4e487b71) = CONST
0x975S0x6a: v975V6a(0xe0) = CONST
0x977S0x6a: v977V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v975V6a(0xe0), v970V6a(0x4e487b71)
0x978S0x6a: v978V6a(0x0) = CONST
0x97aS0x6a: MSTORE v978V6a(0x0), v977V6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x97bS0x6a: v97bV6a(0x32) = CONST
0x97dS0x6a: v97dV6a(0x4) = CONST
0x97fS0x6a: MSTORE v97dV6a(0x4), v97bV6a(0x32)
0x980S0x6a: v980V6a(0x24) = CONST
0x982S0x6a: v982V6a(0x0) = CONST
0x984S0x6a: REVERT v982V6a(0x0), v980V6a(0x24)
Begin block 0x1f2B0x6a
prev=[0x1ceB0x6a], succ=[0x3faB0x6a]
=================================
0x1f2_0x0S0x6a: v1f2_0V6a = PHI v185V6a(0x0), v420V6a
0x1f3S0x6a: v1f3V6a(0x20) = CONST
0x1f5S0x6a: v1f5V6a = ADD v1f3V6a(0x20), v1f2_0V6a
0x1f6S0x6a: v1f6V6a = ADD v1f5V6a, v15aV6a
0x1f8S0x6a: v1f8V6a(0x1) = CONST
0x1faS0x6a: v1faV6a(0x1) = CONST
0x1fcS0x6a: v1fcV6a(0xf8) = CONST
0x1feS0x6a: v1feV6a(0x100000000000000000000000000000000000000000000000000000000000000) = SHL v1fcV6a(0xf8), v1faV6a(0x1)
0x1ffS0x6a: v1ffV6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) = SUB v1feV6a(0x100000000000000000000000000000000000000000000000000000000000000), v1f8V6a(0x1)
0x200S0x6a: v200V6a(0xff00000000000000000000000000000000000000000000000000000000000000) = NOT v1ffV6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
0x201S0x6a: v201V6a = AND v200V6a(0xff00000000000000000000000000000000000000000000000000000000000000), v1e0V6a
0x204S0x6a: v204V6a(0x0) = CONST
0x206S0x6a: v206V6a = BYTE v204V6a(0x0), v201V6a
0x208S0x6a: MSTORE8 v1f6V6a, v206V6a
0x20bS0x6a: v20bV6a(0x213) = CONST
0x20fS0x6a: v20fV6a(0x3fa) = CONST
0x212S0x6a: JUMP v20fV6a(0x3fa)
Begin block 0x3faB0x6a
prev=[0x1f2B0x6a], succ=[0x407B0x6a, 0x41cB0x6a]
=================================
0x3fa_0x0S0x6a: v3fa_0V6a = PHI v185V6a(0x0), v420V6a
0x3fbS0x6a: v3fbV6a(0x0) = CONST
0x3fdS0x6a: v3fdV6a(0x0) = CONST
0x3ffS0x6a: v3ffV6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) = NOT v3fdV6a(0x0)
0x401S0x6a: v401V6a = EQ v3fa_0V6a, v3ffV6a(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
0x402S0x6a: v402V6a = ISZERO v401V6a
0x403S0x6a: v403V6a(0x41c) = CONST
0x406S0x6a: JUMPI v403V6a(0x41c), v402V6a
Begin block 0x407B0x6a
prev=[0x3faB0x6a], succ=[]
=================================
0x407S0x6a: v407V6a(0x4e487b71) = CONST
0x40cS0x6a: v40cV6a(0xe0) = CONST
0x40eS0x6a: v40eV6a(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v40cV6a(0xe0), v407V6a(0x4e487b71)
0x40fS0x6a: v40fV6a(0x0) = CONST
0x411S0x6a: MSTORE v40fV6a(0x0), v40eV6a(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x412S0x6a: v412V6a(0x11) = CONST
0x414S0x6a: v414V6a(0x4) = CONST
0x416S0x6a: MSTORE v414V6a(0x4), v412V6a(0x11)
0x417S0x6a: v417V6a(0x24) = CONST
0x419S0x6a: v419V6a(0x0) = CONST
0x41bS0x6a: REVERT v419V6a(0x0), v417V6a(0x24)
Begin block 0x41cB0x6a
prev=[0x3faB0x6a], succ=[0x213B0x6a]
=================================
0x41c_0x1S0x6a: v41c_1V6a = PHI v185V6a(0x0), v420V6a
0x41eS0x6a: v41eV6a(0x1) = CONST
0x420S0x6a: v420V6a = ADD v41eV6a(0x1), v41c_1V6a
0x422S0x6a: JUMP v20bV6a(0x213)
Begin block 0x213B0x6a
prev=[0x41cB0x6a], succ=[0x187B0x6a]
=================================
0x217S0x6a: v217V6a(0x187) = CONST
0x21aS0x6a: JUMP v217V6a(0x187)
Begin block 0x21bB0x6a
prev=[0x187B0x6a], succ=[0x73]
=================================
0x223S0x6a: JUMP v6b(0x73)
Begin block 0x73
prev=[0x21bB0x6a], succ=[0x2eb]
=================================
0x74: v74(0x40) = CONST
0x76: v76 = MLOAD v74(0x40)
0x77: v77(0x20) = CONST
0x79: v79 = ADD v77(0x20), v76
0x7a: v7a(0x83) = CONST
0x7f: v7f(0x2eb) = CONST
0x82: JUMP v7f(0x2eb)
Begin block 0x2eb
prev=[0x73], succ=[0x2f2]
=================================
0x2ec: v2ec(0x0) = CONST
0x2ef: v2ef = MLOAD v15aV6a
0x2f0: v2f0(0x0) = CONST
Begin block 0x2f2
prev=[0x2fb, 0x2eb], succ=[0x2fb, 0x30c]
=================================
0x2f2_0x0: v2f2_0 = PHI v2f0(0x0), v307
0x2f5: v2f5 = LT v2f2_0, v2ef
0x2f6: v2f6 = ISZERO v2f5
0x2f7: v2f7(0x30c) = CONST
0x2fa: JUMPI v2f7(0x30c), v2f6
Begin block 0x2fb
prev=[0x2f2], succ=[0x2f2]
=================================
0x2fb: v2fb(0x20) = CONST
0x2fb_0x0: v2fb_0 = PHI v2f0(0x0), v307
0x2ff: v2ff = ADD v15aV6a, v2fb_0
0x301: v301 = ADD v2fb(0x20), v2ff
0x302: v302 = MLOAD v301
0x305: v305 = ADD v2fb_0, v79
0x306: MSTORE v305, v302
0x307: v307 = ADD v2fb(0x20), v2fb_0
0x308: v308(0x2f2) = CONST
0x30b: JUMP v308(0x2f2)
Begin block 0x30c
prev=[0x2f2], succ=[0x315, 0x31b]
=================================
0x30c_0x0: v30c_0 = PHI v2f0(0x0), v307
0x30f: v30f = GT v30c_0, v2ef
0x310: v310 = ISZERO v30f
0x311: v311(0x31b) = CONST
0x314: JUMPI v311(0x31b), v310
Begin block 0x315
prev=[0x30c], succ=[0x31b]
=================================
0x315: v315(0x0) = CONST
0x319: v319 = ADD v79, v2ef
0x31a: MSTORE v319, v315(0x0)
Begin block 0x31b
prev=[0x315, 0x30c], succ=[0x83]
=================================
0x320: v320 = ADD v2ef, v79
0x325: JUMP v7a(0x83)
Begin block 0x83
prev=[0x31b], succ=[0x326B0x83]
=================================
0x84: v84(0x40) = CONST
0x86: v86 = MLOAD v84(0x40)
0x87: v87(0x20) = CONST
0x8b: v8b = SUB v320, v86
0x8c: v8c = SUB v8b, v87(0x20)
0x8e: MSTORE v86, v8c
0x90: v90(0x40) = CONST
0x92: MSTORE v90(0x40), v320
0x94: v94 = MLOAD v86
0x96: v96(0x20) = CONST
0x98: v98 = ADD v96(0x20), v86
0x99: v99 = SHA3 v98, v94
0x9a: v9a(0x0) = CONST
0x9c: v9c(0x40) = CONST
0x9e: v9e = MLOAD v9c(0x40)
0x9f: v9f(0x20) = CONST
0xa1: va1 = ADD v9f(0x20), v9e
0xa2: va2(0xab) = CONST
0xa7: va7(0x326) = CONST
0xaa: JUMP va7(0x326)
Begin block 0x326B0x83
prev=[0x83], succ=[0x33cB0x83, 0x342B0x83]
=================================
0x327S0x83: v327V83(0x0) = CONST
0x32bS0x83: v32bV83 = SLOAD v9a(0x0)
0x32dS0x83: v32dV83(0x1) = CONST
0x331S0x83: v331V83 = SHR v32dV83(0x1), v32bV83
0x336S0x83: v336V83 = AND v32bV83, v32dV83(0x1)
0x338S0x83: v338V83(0x342) = CONST
0x33bS0x83: JUMPI v338V83(0x342), v336V83
Begin block 0x33cB0x83
prev=[0x326B0x83], succ=[0x342B0x83]
=================================
0x33cS0x83: v33cV83(0x7f) = CONST
0x33fS0x83: v33fV83 = AND v331V83, v33cV83(0x7f)
Begin block 0x342B0x83
prev=[0x33cB0x83, 0x326B0x83], succ=[0x34fB0x83, 0x362B0x83]
=================================
0x342_0x2S0x83: v342_2V83 = PHI v33fV83, v331V83
0x343S0x83: v343V83(0x20) = CONST
0x347S0x83: v347V83 = LT v342_2V83, v343V83(0x20)
0x349S0x83: v349V83 = EQ v336V83, v347V83
0x34aS0x83: v34aV83 = ISZERO v349V83
0x34bS0x83: v34bV83(0x362) = CONST
0x34eS0x83: JUMPI v34bV83(0x362), v34aV83
Begin block 0x34fB0x83
prev=[0x342B0x83], succ=[]
=================================
0x34fS0x83: v34fV83(0x4e487b71) = CONST
0x354S0x83: v354V83(0xe0) = CONST
0x356S0x83: v356V83(0x4e487b7100000000000000000000000000000000000000000000000000000000) = SHL v354V83(0xe0), v34fV83(0x4e487b71)
0x358S0x83: MSTORE v327V83(0x0), v356V83(0x4e487b7100000000000000000000000000000000000000000000000000000000)
0x359S0x83: v359V83(0x22) = CONST
0x35bS0x83: v35bV83(0x4) = CONST
0x35dS0x83: MSTORE v35bV83(0x4), v359V83(0x22)
0x35eS0x83: v35eV83(0x24) = CONST
0x361S0x83: REVERT v327V83(0x0), v35eV83(0x24)
Begin block 0x362B0x83
prev=[0x342B0x83], succ=[0x36aB0x83, 0x376B0x83]
=================================
0x365S0x83: v365V83 = ISZERO v336V83
0x366S0x83: v366V83(0x376) = CONST
0x369S0x83: JUMPI v366V83(0x376), v365V83
Begin block 0x36aB0x83
prev=[0x362B0x83], succ=[0x372B0x83, 0x387B0x83]
=================================
0x36aS0x83: v36aV83(0x1) = CONST
0x36dS0x83: v36dV83 = EQ v336V83, v36aV83(0x1)
0x36eS0x83: v36eV83(0x387) = CONST
0x371S0x83: JUMPI v36eV83(0x387), v36dV83
Begin block 0x372B0x83
prev=[0x36aB0x83], succ=[0x13fcB0x83]
=================================
0x372S0x83: v372V83(0x13fc) = CONST
0x375S0x83: JUMP v372V83(0x13fc)
Begin block 0x13fcB0x83
prev=[0x372B0x83], succ=[0xab]
=================================
0x1409S0x83: JUMP va2(0xab)
Begin block 0xab
prev=[0x13fcB0x83, 0x1429B0x83, 0x3b4B0x83], succ=[0xc7, 0x103]
=================================
0x83S0xab_0: vaa_0Vab_0 = PHI v327V83(0x0), v380V83, v3b1V83
0xac: vac(0x40) = CONST
0xae: vae = MLOAD vac(0x40)
0xaf: vaf(0x20) = CONST
0xb3: vb3 = SUB vaa_0Vab_0, vae
0xb4: vb4 = SUB vb3, vaf(0x20)
0xb6: MSTORE vae, vb4
0xb8: vb8(0x40) = CONST
0xba: MSTORE vb8(0x40), vaa_0Vab_0
0xbc: vbc = MLOAD vae
0xbe: vbe(0x20) = CONST
0xc0: vc0 = ADD vbe(0x20), vae
0xc1: vc1 = SHA3 vc0, vbc
0xc2: vc2 = EQ vc1, v99
0xc3: vc3(0x103) = CONST
0xc6: JUMPI vc3(0x103), vc2
Begin block 0xc7
prev=[0xab], succ=[]
=================================
0xc7: vc7(0x40) = CONST
0xc9: vc9 = MLOAD vc7(0x40)
0xca: vca(0x461bcd) = CONST
0xce: vce(0xe5) = CONST
0xd0: vd0(0x8c379a000000000000000000000000000000000000000000000000000000000) = SHL vce(0xe5), vca(0x461bcd)
0xd2: MSTORE vc9, vd0(0x8c379a000000000000000000000000000000000000000000000000000000000)
0xd3: vd3(0x20) = CONST
0xd5: vd5(0x4) = CONST
0xd8: vd8 = ADD vc9, vd5(0x4)
0xd9: MSTORE vd8, vd3(0x20)
0xda: vda(0xe) = CONST
0xdc: vdc(0x24) = CONST
0xdf: vdf = ADD vc9, vdc(0x24)
0xe0: MSTORE vdf, vda(0xe)
0xe1: ve1(0x57726f6e67205472656173757265) = CONST
0xf0: vf0(0x90) = CONST
0xf2: vf2(0x57726f6e67205472656173757265000000000000000000000000000000000000) = SHL vf0(0x90), ve1(0x57726f6e67205472656173757265)
0xf3: vf3(0x44) = CONST
0xf6: vf6 = ADD vc9, vf3(0x44)
0xf7: MSTORE vf6, vf2(0x57726f6e67205472656173757265000000000000000000000000000000000000)
0xf8: vf8(0x64) = CONST
0xfa: vfa = ADD vf8(0x64), vc9
0xfb: vfb(0x40) = CONST
0xfd: vfd = MLOAD vfb(0x40)
0x100: v100(0x64) = SUB vfa, vfd
0x102: REVERT vfd, v100(0x64)
Begin block 0x103
prev=[0xab], succ=[0x4e]
=================================
0x105: v105(0x1) = CONST
0x108: v108 = SLOAD v105(0x1)
0x109: v109(0xff) = CONST
0x10b: v10b(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) = NOT v109(0xff)
0x10c: v10c = AND v10b(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00), v108
0x10e: v10e = OR v105(0x1), v10c
0x110: SSTORE v105(0x1), v10e
0x111: JUMP v3c(0x4e)
Begin block 0x4e
prev=[0x103], succ=[]
=================================
0x4f: STOP
Begin block 0x387B0x83
prev=[0x36aB0x83], succ=[0x393B0x83]
=================================
0x388S0x83: v388V83(0x0) = CONST
0x38cS0x83: MSTORE v388V83(0x0), v9a(0x0)
0x38dS0x83: v38dV83(0x20) = CONST
0x390S0x83: v390V83 = SHA3 v388V83(0x0), v38dV83(0x20)
0x391S0x83: v391V83(0x0) = CONST
Begin block 0x393B0x83
prev=[0x387B0x83, 0x39cB0x83], succ=[0x3acB0x83, 0x39cB0x83]
=================================
0x393_0x0S0x83: v393_0V83 = PHI v391V83(0x0), v3a7V83
0x393_0x6S0x83: v393_6V83 = PHI v33fV83, v331V83
0x396S0x83: v396V83 = LT v393_0V83, v393_6V83
0x397S0x83: v397V83 = ISZERO v396V83
0x398S0x83: v398V83(0x3ac) = CONST
0x39bS0x83: JUMPI v398V83(0x3ac), v397V83
Begin block 0x3acB0x83
prev=[0x393B0x83], succ=[0x3b4B0x83]
=================================
0x3ac_0x6S0x83: v3ac_6V83 = PHI v33fV83, v331V83
0x3b1S0x83: v3b1V83 = ADD va1, v3ac_6V83
Begin block 0x3b4B0x83
prev=[0x3acB0x83], succ=[0xab]
=================================
0x3c1S0x83: JUMP va2(0xab)
Begin block 0x39cB0x83
prev=[0x393B0x83], succ=[0x393B0x83]
=================================
0x39c_0x0S0x83: v39c_0V83 = PHI v391V83(0x0), v3a7V83
0x39c_0x1S0x83: v39c_1V83 = PHI v390V83, v3a4V83
0x39dS0x83: v39dV83 = SLOAD v39c_1V83
0x3a0S0x83: v3a0V83 = ADD v39c_0V83, va1
0x3a1S0x83: MSTORE v3a0V83, v39dV83
0x3a4S0x83: v3a4V83 = ADD v32dV83(0x1), v39c_1V83
0x3a7S0x83: v3a7V83 = ADD v343V83(0x20), v39c_0V83
0x3a8S0x83: v3a8V83(0x393) = CONST
0x3abS0x83: JUMP v3a8V83(0x393)
Begin block 0x376B0x83
prev=[0x362B0x83], succ=[0x1429B0x83]
=================================
0x376_0x4S0x83: v376_4V83 = PHI v33fV83, v331V83
0x377S0x83: v377V83(0xff) = CONST
0x379S0x83: v379V83(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) = NOT v377V83(0xff)
0x37bS0x83: v37bV83 = AND v32bV83, v379V83(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00)
0x37dS0x83: MSTORE va1, v37bV83
0x380S0x83: v380V83 = ADD va1, v376_4V83
0x383S0x83: v383V83(0x1429) = CONST
0x386S0x83: JUMP v383V83(0x1429)
Begin block 0x1429B0x83
prev=[0x376B0x83], succ=[0xab]
=================================
0x1436S0x83: JUMP va2(0xab)
}
function isSolved()() public {
Begin block 0x50
prev=[], succ=[]
=================================
0x51: v51(0x1) = CONST
0x53: v53 = SLOAD v51(0x1)
0x54: v54(0xff) = CONST
0x56: v56 = AND v54(0xff), v53
0x57: v57(0x40) = CONST
0x59: v59 = MLOAD v57(0x40)
0x5b: v5b = ISZERO v56
0x5c: v5c = ISZERO v5b
0x5e: MSTORE v59, v5c
0x5f: v5f(0x20) = CONST
0x61: v61 = ADD v5f(0x20), v59
0x62: v62(0x40) = CONST
0x64: v64 = MLOAD v62(0x40)
0x67: v67(0x20) = SUB v61, v64
0x69: RETURN v64, v67(0x20)
}
|