evm-disassembler 0.6.0

Disassemble EVM bytecode into individual Opcodes and format into human readable strings.
Documentation
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
0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed240029
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x4
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x6d
0000000c: JUMPI
0000000d: PUSH1 0x0
0000000f: CALLDATALOAD
00000010: PUSH29 0x100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x3659cfe6
0000003c: EQ
0000003d: PUSH2 0x77
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x4f1ef286
00000047: EQ
00000048: PUSH2 0xba
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x5c60da1b
00000052: EQ
00000053: PUSH2 0x108
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x8f283970
0000005d: EQ
0000005e: PUSH2 0x15f
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf851a440
00000068: EQ
00000069: PUSH2 0x1a2
0000006c: JUMPI
0000006d: JUMPDEST
0000006e: PUSH2 0x75
00000071: PUSH2 0x1f9
00000074: JUMP
00000075: JUMPDEST
00000076: STOP
00000077: JUMPDEST
00000078: CALLVALUE
00000079: DUP1
0000007a: ISZERO
0000007b: PUSH2 0x83
0000007e: JUMPI
0000007f: PUSH1 0x0
00000081: DUP1
00000082: REVERT
00000083: JUMPDEST
00000084: POP
00000085: PUSH2 0xb8
00000088: PUSH1 0x4
0000008a: DUP1
0000008b: CALLDATASIZE
0000008c: SUB
0000008d: DUP2
0000008e: ADD
0000008f: SWAP1
00000090: DUP1
00000091: DUP1
00000092: CALLDATALOAD
00000093: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000a8: AND
000000a9: SWAP1
000000aa: PUSH1 0x20
000000ac: ADD
000000ad: SWAP1
000000ae: SWAP3
000000af: SWAP2
000000b0: SWAP1
000000b1: POP
000000b2: POP
000000b3: POP
000000b4: PUSH2 0x213
000000b7: JUMP
000000b8: JUMPDEST
000000b9: STOP
000000ba: JUMPDEST
000000bb: PUSH2 0x106
000000be: PUSH1 0x4
000000c0: DUP1
000000c1: CALLDATASIZE
000000c2: SUB
000000c3: DUP2
000000c4: ADD
000000c5: SWAP1
000000c6: DUP1
000000c7: DUP1
000000c8: CALLDATALOAD
000000c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000de: AND
000000df: SWAP1
000000e0: PUSH1 0x20
000000e2: ADD
000000e3: SWAP1
000000e4: SWAP3
000000e5: SWAP2
000000e6: SWAP1
000000e7: DUP1
000000e8: CALLDATALOAD
000000e9: SWAP1
000000ea: PUSH1 0x20
000000ec: ADD
000000ed: SWAP1
000000ee: DUP3
000000ef: ADD
000000f0: DUP1
000000f1: CALLDATALOAD
000000f2: SWAP1
000000f3: PUSH1 0x20
000000f5: ADD
000000f6: SWAP2
000000f7: SWAP1
000000f8: SWAP2
000000f9: SWAP3
000000fa: SWAP4
000000fb: SWAP2
000000fc: SWAP3
000000fd: SWAP4
000000fe: SWAP1
000000ff: POP
00000100: POP
00000101: POP
00000102: PUSH2 0x268
00000105: JUMP
00000106: JUMPDEST
00000107: STOP
00000108: JUMPDEST
00000109: CALLVALUE
0000010a: DUP1
0000010b: ISZERO
0000010c: PUSH2 0x114
0000010f: JUMPI
00000110: PUSH1 0x0
00000112: DUP1
00000113: REVERT
00000114: JUMPDEST
00000115: POP
00000116: PUSH2 0x11d
00000119: PUSH2 0x308
0000011c: JUMP
0000011d: JUMPDEST
0000011e: PUSH1 0x40
00000120: MLOAD
00000121: DUP1
00000122: DUP3
00000123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000138: AND
00000139: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014e: AND
0000014f: DUP2
00000150: MSTORE
00000151: PUSH1 0x20
00000153: ADD
00000154: SWAP2
00000155: POP
00000156: POP
00000157: PUSH1 0x40
00000159: MLOAD
0000015a: DUP1
0000015b: SWAP2
0000015c: SUB
0000015d: SWAP1
0000015e: RETURN
0000015f: JUMPDEST
00000160: CALLVALUE
00000161: DUP1
00000162: ISZERO
00000163: PUSH2 0x16b
00000166: JUMPI
00000167: PUSH1 0x0
00000169: DUP1
0000016a: REVERT
0000016b: JUMPDEST
0000016c: POP
0000016d: PUSH2 0x1a0
00000170: PUSH1 0x4
00000172: DUP1
00000173: CALLDATASIZE
00000174: SUB
00000175: DUP2
00000176: ADD
00000177: SWAP1
00000178: DUP1
00000179: DUP1
0000017a: CALLDATALOAD
0000017b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000190: AND
00000191: SWAP1
00000192: PUSH1 0x20
00000194: ADD
00000195: SWAP1
00000196: SWAP3
00000197: SWAP2
00000198: SWAP1
00000199: POP
0000019a: POP
0000019b: POP
0000019c: PUSH2 0x360
0000019f: JUMP
000001a0: JUMPDEST
000001a1: STOP
000001a2: JUMPDEST
000001a3: CALLVALUE
000001a4: DUP1
000001a5: ISZERO
000001a6: PUSH2 0x1ae
000001a9: JUMPI
000001aa: PUSH1 0x0
000001ac: DUP1
000001ad: REVERT
000001ae: JUMPDEST
000001af: POP
000001b0: PUSH2 0x1b7
000001b3: PUSH2 0x51e
000001b6: JUMP
000001b7: JUMPDEST
000001b8: PUSH1 0x40
000001ba: MLOAD
000001bb: DUP1
000001bc: DUP3
000001bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d2: AND
000001d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001e8: AND
000001e9: DUP2
000001ea: MSTORE
000001eb: PUSH1 0x20
000001ed: ADD
000001ee: SWAP2
000001ef: POP
000001f0: POP
000001f1: PUSH1 0x40
000001f3: MLOAD
000001f4: DUP1
000001f5: SWAP2
000001f6: SUB
000001f7: SWAP1
000001f8: RETURN
000001f9: JUMPDEST
000001fa: PUSH2 0x201
000001fd: PUSH2 0x576
00000200: JUMP
00000201: JUMPDEST
00000202: PUSH2 0x211
00000205: PUSH2 0x20c
00000208: PUSH2 0x651
0000020b: JUMP
0000020c: JUMPDEST
0000020d: PUSH2 0x682
00000210: JUMP
00000211: JUMPDEST
00000212: JUMP
00000213: JUMPDEST
00000214: PUSH2 0x21b
00000217: PUSH2 0x6a8
0000021a: JUMP
0000021b: JUMPDEST
0000021c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000231: AND
00000232: CALLER
00000233: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000248: AND
00000249: EQ
0000024a: ISZERO
0000024b: PUSH2 0x25c
0000024e: JUMPI
0000024f: PUSH2 0x257
00000252: DUP2
00000253: PUSH2 0x6d9
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH2 0x265
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH2 0x264
00000260: PUSH2 0x1f9
00000263: JUMP
00000264: JUMPDEST
00000265: JUMPDEST
00000266: POP
00000267: JUMP
00000268: JUMPDEST
00000269: PUSH2 0x270
0000026c: PUSH2 0x6a8
0000026f: JUMP
00000270: JUMPDEST
00000271: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000286: AND
00000287: CALLER
00000288: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000029d: AND
0000029e: EQ
0000029f: ISZERO
000002a0: PUSH2 0x2fa
000002a3: JUMPI
000002a4: PUSH2 0x2ac
000002a7: DUP4
000002a8: PUSH2 0x6d9
000002ab: JUMP
000002ac: JUMPDEST
000002ad: ADDRESS
000002ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002c3: AND
000002c4: CALLVALUE
000002c5: DUP4
000002c6: DUP4
000002c7: PUSH1 0x40
000002c9: MLOAD
000002ca: DUP1
000002cb: DUP4
000002cc: DUP4
000002cd: DUP1
000002ce: DUP3
000002cf: DUP5
000002d0: CALLDATACOPY
000002d1: DUP3
000002d2: ADD
000002d3: SWAP2
000002d4: POP
000002d5: POP
000002d6: SWAP3
000002d7: POP
000002d8: POP
000002d9: POP
000002da: PUSH1 0x0
000002dc: PUSH1 0x40
000002de: MLOAD
000002df: DUP1
000002e0: DUP4
000002e1: SUB
000002e2: DUP2
000002e3: DUP6
000002e4: DUP8
000002e5: GAS
000002e6: CALL
000002e7: SWAP3
000002e8: POP
000002e9: POP
000002ea: POP
000002eb: ISZERO
000002ec: ISZERO
000002ed: PUSH2 0x2f5
000002f0: JUMPI
000002f1: PUSH1 0x0
000002f3: DUP1
000002f4: REVERT
000002f5: JUMPDEST
000002f6: PUSH2 0x303
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH2 0x302
000002fe: PUSH2 0x1f9
00000301: JUMP
00000302: JUMPDEST
00000303: JUMPDEST
00000304: POP
00000305: POP
00000306: POP
00000307: JUMP
00000308: JUMPDEST
00000309: PUSH1 0x0
0000030b: PUSH2 0x312
0000030e: PUSH2 0x6a8
00000311: JUMP
00000312: JUMPDEST
00000313: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000328: AND
00000329: CALLER
0000032a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000033f: AND
00000340: EQ
00000341: ISZERO
00000342: PUSH2 0x354
00000345: JUMPI
00000346: PUSH2 0x34d
00000349: PUSH2 0x651
0000034c: JUMP
0000034d: JUMPDEST
0000034e: SWAP1
0000034f: POP
00000350: PUSH2 0x35d
00000353: JUMP
00000354: JUMPDEST
00000355: PUSH2 0x35c
00000358: PUSH2 0x1f9
0000035b: JUMP
0000035c: JUMPDEST
0000035d: JUMPDEST
0000035e: SWAP1
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x368
00000364: PUSH2 0x6a8
00000367: JUMP
00000368: JUMPDEST
00000369: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000037e: AND
0000037f: CALLER
00000380: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000395: AND
00000396: EQ
00000397: ISZERO
00000398: PUSH2 0x512
0000039b: JUMPI
0000039c: PUSH1 0x0
0000039e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003b3: AND
000003b4: DUP2
000003b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ca: AND
000003cb: EQ
000003cc: ISZERO
000003cd: ISZERO
000003ce: ISZERO
000003cf: PUSH2 0x466
000003d2: JUMPI
000003d3: PUSH1 0x40
000003d5: MLOAD
000003d6: PUSH32 0x8c379a000000000000000000000000000000000000000000000000000000000
000003f7: DUP2
000003f8: MSTORE
000003f9: PUSH1 0x4
000003fb: ADD
000003fc: DUP1
000003fd: DUP1
000003fe: PUSH1 0x20
00000400: ADD
00000401: DUP3
00000402: DUP2
00000403: SUB
00000404: DUP3
00000405: MSTORE
00000406: PUSH1 0x36
00000408: DUP2
00000409: MSTORE
0000040a: PUSH1 0x20
0000040c: ADD
0000040d: DUP1
0000040e: PUSH32 0x43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f
0000042f: DUP2
00000430: MSTORE
00000431: PUSH1 0x20
00000433: ADD
00000434: PUSH32 0x787920746f20746865207a65726f206164647265737300000000000000000000
00000455: DUP2
00000456: MSTORE
00000457: POP
00000458: PUSH1 0x40
0000045a: ADD
0000045b: SWAP2
0000045c: POP
0000045d: POP
0000045e: PUSH1 0x40
00000460: MLOAD
00000461: DUP1
00000462: SWAP2
00000463: SUB
00000464: SWAP1
00000465: REVERT
00000466: JUMPDEST
00000467: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
00000488: PUSH2 0x48f
0000048b: PUSH2 0x6a8
0000048e: JUMP
0000048f: JUMPDEST
00000490: DUP3
00000491: PUSH1 0x40
00000493: MLOAD
00000494: DUP1
00000495: DUP4
00000496: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004ab: AND
000004ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c1: AND
000004c2: DUP2
000004c3: MSTORE
000004c4: PUSH1 0x20
000004c6: ADD
000004c7: DUP3
000004c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004dd: AND
000004de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f3: AND
000004f4: DUP2
000004f5: MSTORE
000004f6: PUSH1 0x20
000004f8: ADD
000004f9: SWAP3
000004fa: POP
000004fb: POP
000004fc: POP
000004fd: PUSH1 0x40
000004ff: MLOAD
00000500: DUP1
00000501: SWAP2
00000502: SUB
00000503: SWAP1
00000504: LOG1
00000505: PUSH2 0x50d
00000508: DUP2
00000509: PUSH2 0x748
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH2 0x51b
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH2 0x51a
00000516: PUSH2 0x1f9
00000519: JUMP
0000051a: JUMPDEST
0000051b: JUMPDEST
0000051c: POP
0000051d: JUMP
0000051e: JUMPDEST
0000051f: PUSH1 0x0
00000521: PUSH2 0x528
00000524: PUSH2 0x6a8
00000527: JUMP
00000528: JUMPDEST
00000529: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000053e: AND
0000053f: CALLER
00000540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000555: AND
00000556: EQ
00000557: ISZERO
00000558: PUSH2 0x56a
0000055b: JUMPI
0000055c: PUSH2 0x563
0000055f: PUSH2 0x6a8
00000562: JUMP
00000563: JUMPDEST
00000564: SWAP1
00000565: POP
00000566: PUSH2 0x573
00000569: JUMP
0000056a: JUMPDEST
0000056b: PUSH2 0x572
0000056e: PUSH2 0x1f9
00000571: JUMP
00000572: JUMPDEST
00000573: JUMPDEST
00000574: SWAP1
00000575: JUMP
00000576: JUMPDEST
00000577: PUSH2 0x57e
0000057a: PUSH2 0x6a8
0000057d: JUMP
0000057e: JUMPDEST
0000057f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000594: AND
00000595: CALLER
00000596: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ab: AND
000005ac: EQ
000005ad: ISZERO
000005ae: ISZERO
000005af: ISZERO
000005b0: PUSH2 0x647
000005b3: JUMPI
000005b4: PUSH1 0x40
000005b6: MLOAD
000005b7: PUSH32 0x8c379a000000000000000000000000000000000000000000000000000000000
000005d8: DUP2
000005d9: MSTORE
000005da: PUSH1 0x4
000005dc: ADD
000005dd: DUP1
000005de: DUP1
000005df: PUSH1 0x20
000005e1: ADD
000005e2: DUP3
000005e3: DUP2
000005e4: SUB
000005e5: DUP3
000005e6: MSTORE
000005e7: PUSH1 0x32
000005e9: DUP2
000005ea: MSTORE
000005eb: PUSH1 0x20
000005ed: ADD
000005ee: DUP1
000005ef: PUSH32 0x43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e206672
00000610: DUP2
00000611: MSTORE
00000612: PUSH1 0x20
00000614: ADD
00000615: PUSH32 0x6f6d207468652070726f78792061646d696e0000000000000000000000000000
00000636: DUP2
00000637: MSTORE
00000638: POP
00000639: PUSH1 0x40
0000063b: ADD
0000063c: SWAP2
0000063d: POP
0000063e: POP
0000063f: PUSH1 0x40
00000641: MLOAD
00000642: DUP1
00000643: SWAP2
00000644: SUB
00000645: SWAP1
00000646: REVERT
00000647: JUMPDEST
00000648: PUSH2 0x64f
0000064b: PUSH2 0x777
0000064e: JUMP
0000064f: JUMPDEST
00000650: JUMP
00000651: JUMPDEST
00000652: PUSH1 0x0
00000654: DUP1
00000655: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
00000676: PUSH1 0x1
00000678: MUL
00000679: SWAP1
0000067a: POP
0000067b: DUP1
0000067c: SLOAD
0000067d: SWAP2
0000067e: POP
0000067f: POP
00000680: SWAP1
00000681: JUMP
00000682: JUMPDEST
00000683: CALLDATASIZE
00000684: PUSH1 0x0
00000686: DUP1
00000687: CALLDATACOPY
00000688: PUSH1 0x0
0000068a: DUP1
0000068b: CALLDATASIZE
0000068c: PUSH1 0x0
0000068e: DUP5
0000068f: GAS
00000690: DELEGATECALL
00000691: RETURNDATASIZE
00000692: PUSH1 0x0
00000694: DUP1
00000695: RETURNDATACOPY
00000696: DUP1
00000697: PUSH1 0x0
00000699: DUP2
0000069a: EQ
0000069b: PUSH2 0x6a3
0000069e: JUMPI
0000069f: RETURNDATASIZE
000006a0: PUSH1 0x0
000006a2: RETURN
000006a3: JUMPDEST
000006a4: RETURNDATASIZE
000006a5: PUSH1 0x0
000006a7: REVERT
000006a8: JUMPDEST
000006a9: PUSH1 0x0
000006ab: DUP1
000006ac: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
000006cd: PUSH1 0x1
000006cf: MUL
000006d0: SWAP1
000006d1: POP
000006d2: DUP1
000006d3: SLOAD
000006d4: SWAP2
000006d5: POP
000006d6: POP
000006d7: SWAP1
000006d8: JUMP
000006d9: JUMPDEST
000006da: PUSH2 0x6e2
000006dd: DUP2
000006de: PUSH2 0x779
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00000704: DUP2
00000705: PUSH1 0x40
00000707: MLOAD
00000708: DUP1
00000709: DUP3
0000070a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000071f: AND
00000720: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000735: AND
00000736: DUP2
00000737: MSTORE
00000738: PUSH1 0x20
0000073a: ADD
0000073b: SWAP2
0000073c: POP
0000073d: POP
0000073e: PUSH1 0x40
00000740: MLOAD
00000741: DUP1
00000742: SWAP2
00000743: SUB
00000744: SWAP1
00000745: LOG1
00000746: POP
00000747: JUMP
00000748: JUMPDEST
00000749: PUSH1 0x0
0000074b: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
0000076c: PUSH1 0x1
0000076e: MUL
0000076f: SWAP1
00000770: POP
00000771: DUP2
00000772: DUP2
00000773: SSTORE
00000774: POP
00000775: POP
00000776: JUMP
00000777: JUMPDEST
00000778: JUMP
00000779: JUMPDEST
0000077a: PUSH1 0x0
0000077c: PUSH2 0x784
0000077f: DUP3
00000780: PUSH2 0x84b
00000783: JUMP
00000784: JUMPDEST
00000785: ISZERO
00000786: ISZERO
00000787: PUSH2 0x81e
0000078a: JUMPI
0000078b: PUSH1 0x40
0000078d: MLOAD
0000078e: PUSH32 0x8c379a000000000000000000000000000000000000000000000000000000000
000007af: DUP2
000007b0: MSTORE
000007b1: PUSH1 0x4
000007b3: ADD
000007b4: DUP1
000007b5: DUP1
000007b6: PUSH1 0x20
000007b8: ADD
000007b9: DUP3
000007ba: DUP2
000007bb: SUB
000007bc: DUP3
000007bd: MSTORE
000007be: PUSH1 0x3b
000007c0: DUP2
000007c1: MSTORE
000007c2: PUSH1 0x20
000007c4: ADD
000007c5: DUP1
000007c6: PUSH32 0x43616e6e6f742073657420612070726f787920696d706c656d656e746174696f
000007e7: DUP2
000007e8: MSTORE
000007e9: PUSH1 0x20
000007eb: ADD
000007ec: PUSH32 0x6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000
0000080d: DUP2
0000080e: MSTORE
0000080f: POP
00000810: PUSH1 0x40
00000812: ADD
00000813: SWAP2
00000814: POP
00000815: POP
00000816: PUSH1 0x40
00000818: MLOAD
00000819: DUP1
0000081a: SWAP2
0000081b: SUB
0000081c: SWAP1
0000081d: REVERT
0000081e: JUMPDEST
0000081f: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
00000840: PUSH1 0x1
00000842: MUL
00000843: SWAP1
00000844: POP
00000845: DUP2
00000846: DUP2
00000847: SSTORE
00000848: POP
00000849: POP
0000084a: JUMP
0000084b: JUMPDEST
0000084c: PUSH1 0x0
0000084e: DUP1
0000084f: DUP3
00000850: EXTCODESIZE
00000851: SWAP1
00000852: POP
00000853: PUSH1 0x0
00000855: DUP2
00000856: GT
00000857: SWAP2
00000858: POP
00000859: POP
0000085a: SWAP2
0000085b: SWAP1
0000085c: POP
0000085d: JUMP
0000085e: STOP
0000085f: LOG1
00000860: PUSH6 0x627a7a723058
00000867: SHA3
00000868: LOG4
00000869: INVALID
0000086a: SELFBALANCE
0000086b: INVALID
0000086c: INVALID
0000086d: SHA3
0000086e: INVALID
0000086f: GAS
00000870: INVALID
00000871: INVALID
00000872: INVALID
00000873: INVALID
00000874: TIMESTAMP
00000875: DUP15
00000876: SWAP9
00000877: DUP12
00000878: INVALID
00000879: INVALID
0000087a: INVALID
0000087b: MUL
0000087c: INVALID
0000087d: INVALID
0000087e: AND
0000087f: SSTORE
00000880: ORIGIN
00000881: INVALID
00000882: INVALID
00000883: INVALID
00000884: SAR
00000885: INVALID
00000886: INVALID
00000887: INVALID
00000888: STOP
00000889: INVALID